Penguin
Note: You are viewing an old revision of this page. View the current version.

Common Lisp aka ANSI Standard X3J13. A popular LISP dialect. Most implementations can and default to compiling to native code. Very few are purely interpreted or byte compiled.

Two unique things that make Common Lisp tempting, if you can get over the funny syntax:

  • The Common Lisp Object System. Common Lisp appears to be the only language in common use that has multiple dispatch.
  • Macros: with these you can create and use code generators and custom control structures with little fuss.

Perl6 is stealing them both. :) Although it won't likely be here for a few years yet. In fact multiple dispatch is already possible in Perl5, though not available natively - as always, a stroll through CPAN is helpful. --AristotlePagaltzis

Quote from Paul Graham's little essay What Made Lisp Different:

9. The whole language always available. There is no real distinction between read-time, compile-time, and runtime. You can compile or run code while reading, read or run code while compiling, and read or compile code at runtime.
Running code at read-time lets users reprogram Lisp's syntax; running code at compile-time is the basis of macros; compiling at runtime is the basis of Lisp's use as an extension language in programs like Emacs; and reading at runtime enables programs to communicate using s-expressions, an idea recently reinvented as XML.

Resources