Common Lisp

A very powerful but somewhat messy dialect of the Lisp programming language. It was intended to unify the many dialects of Lisp, and it has succeeded for the most part in doing so. The only other widely used dialects are Scheme and EMACS Lisp.

It turns out that despite its goal of unification, Common Lisp is actually a very good language. It is my opinion that it is unsurpassed, the best overall language as of now (09-14-2002).

Some features:
a powerful (but dangerous) macro system, a class-based object system with multiple-dispatch (CLOS) (and often with a powerful meta-object protocol), an extensive standard library full of rich data structures, and a whole lot more. In addition, there are a number of high quality implementations, free and non-free, available. Some of these implementations output very fast code.
Some misfeatures:
there are many constraints placed on the language due to compatibility reasons, not the least of which is the fact that it is a lisp2 (ie, it has a special namespace for functions). Many very intelligent people (Fare, Kent M. Pitman) feel that this is not a disadvantage, but I do. I feel the macro system is unnecessarily dangerous and restrictive (in that macros are not first class values like procedures). Nothing huge though.
-- seaslug

This sounds like the opinion of most people who don't understand that macro hygeine isn't needed in a lisp2. :-) However the points are correct and there is some lisp possible that should be able to best both Common Lisp and Scheme: each design has very old roots. -- water


This page is linked from: AP5   AspectL   bknr   CafeOBJ   CL   CLHS   CLiki   CLIM   CLOS   Design by Contract   EuLisp   fare-matcher   Fault-tolerant   Garnet   Kent M. Pitman   KnowOS   Literate Programming   Max   Movitz   NetCLOS   PL 101   Poplog   Qi   REBOL   Reflective Programming Languages   Scheme   Screamer   Stella language   Trotskyite Tunes   TUNES vs the WWW   Type System   UFFI   UnCommon Web   zzz