All the implementations below provide an FFI and sockets interface. Callbacks mean in this context that the FFI is capable of passing lisp-functions as callbacks to foreign functions. The startup file is loaded when the Lisp starts (not sure whether this is the best place, but a question came up recently on comp.lang.lisp)
| Implementation | Supported Platforms | ANSI Compliance |
Compiler | Features | Startup file |
|---|---|---|---|---|---|
| CLISP | Windows, Mac, Most *nixes | Good | Bytecode | Small image size, very efficient bignums, Callbacks, modules | ~/.clisprc.lisp |
| CMUCL | Most *nixes | Good | Bytecode, Native & Block Compilation | High quality native compiler, Callbacks | ~/.cmucl-init.lisp |
| ECL | Microsoft Windows, most Un*x variants, Mac OSX | Good | Native via C, also bytecode | Executable delivery. Integrates well with C programs (i.e. Embeddable). Supports native threads on all platforms. | ~/.eclrc |
| GCL | Windows, Most *nixes | Not that good | Native via C | ? | ~/.gclrc.lisp |
| CCL/OpenMCL | Mac, Linux, FreeBSD, Solaris, Windows (in alpha) | Good | Native | Small image size, fast compiler, convenient and powerful FFI, callbacks, executable delivery, native threads on all platforms, precise gc | ~/ccl-init.lisp |
| SBCL | Most *nixes, MacOS X (Darwin), Windows (Experimental) | Good | Native | High quality native compiler; callbacks; executable delivery; native threads on x64 and x86-64 for Linux, Solaris 10, and OS X (experimental) | ~/.sbclrc |
| ABCL | Most *nixes, MacOS X (Darwin), Windows | Good, except for some CLOS parts | JVM bytecode | FFI to Java, multithreading, platform independence | ~/.abclrc |
| emacs-cl | Emacs | Lacks among other things, CLOS and pretty printing. | Emacs bytecode | FFI with underlying emacs | None |
For non-free implementations, see [new] ALU wiki, Implementation, or [old] http://www.alu.org/table/systems.htm#vendor. The old link is inacessible on 2007-02-20.
Survey of Common Lisp implementations being maintained as of November, 2007.
If performance is an important criterion for you, you might be interested in the Performance Benchmarks page.
Pages in this topic: amphipoLISP Armed Bear Lisp CCL CLiCC clisp Clozure CMUCL Corman Lisp ECL ECL-Spain emacs-cl GCL KCL Family Movitz Nu OpenMCL Poplog PowerLisp Sacla SBCL ThinLisp WCL XCL
Also linked from: araneida Benchmarks Changes in June 2000 cl-jointgen compatibility layers Datoura detachtty ffi Garnet index Installing OpenMCL on Mac OS X Linux Lisp Lisp newbie LispWorks LLVM MacOS X Marko Kocic MCL NaCL NetBSD newLisp OpenGL Bindings Performance Benchmarks Performance Benchmarks2 Planet of the Feebs Practical Lisp Programming Suggested Programming Projects thread WikiNode Wish List X-Chat Common Lisp Plugin
CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively