No, it is less than mediocre. It has not kept up at any sufficient pace to other languages and environments. Just a small excerpt because I don't have the nerve to write an exhaustive critique: bignum, first-class functions, generators, lazy lists, lexical scope, macros, namespaces. Single window in Lazarus requires recompilation that errors out in CheckLst.pas instead of being a preference somewhere in a menu.