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 all platforms listed may be actively supported.
Note: Some implementation builds fail to include FFI, sockets, and/or threads. Fink CLISP fails to includes threads, and MacPorts anything fails to include FFI. Aptitude lisps are severely out of date: SBCL fails on Xen, and ECL crashes during installation.
| Implementation | Supported Platforms | Compiler | Threads? | Features | Startup file |
|---|---|---|---|---|---|
| CLISP | Windows, Mac OS X, Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Dragonfly BSD | Bytecode | Yes (experimental) | Small image size, very efficient bignums, Callbacks, modules | ~/.clisprc.lisp |
| CMUCL | Linux, Mac OS X, FreeBSD, Solaris, FreeBSD, NetBSD, OpenBSD, IRIX, HPUX | Bytecode, Native & Block Compilation | No | High quality native compiler, foreign callbacks | ~/.cmucl-init.lisp |
| ECL | Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Windows, Mac OS X | Native via C, also bytecode | Yes (all platforms) | Executable delivery and portability. Integrates well with C programs (i.e. Embeddable, native powerful FFI). | ~/.eclrc |
| CCL | Mac OS X, Linux, FreeBSD, Solaris, Windows XP and later | Native | Yes (all platforms) | Small image size, fast compiler, convenient and powerful FFI, callbacks, executable delivery, precise gc | ~/ccl-init.lisp |
| SBCL | Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Windows (Experimental) | Native | Yes (x86 and x86-64 Linux only; experimental on OS X, FreeBSD, Windows) | High quality native compiler; callbacks; executable delivery; | ~/.sbclrc |
| ABCL | JVM | JVM bytecode | Yes | FFI to Java, platform independence | ~/.abclrc |
| MKCL | Linux (x86 and x86_64), Windows XP (Win32), Windows 7 (Win64) | Native via C, bytecode-compiled interpreter | Yes | POSIX compliant runtime on Linux, Embeddable, FFI with callbacks. | ~/.mkclrc |
Daniel Weinreb has a current (as of February 2010) survey of Common Lisp implementations that is more detailed than the chart above.
All Free Software Common Lisp implementations (some of these may not be actively developed):
For non-free implementations, see the list on wikipedia.
If performance is an important criterion for you, you might be interested in the Performance Benchmarks page.
Pages in this topic: ABCL CCL CLiCC clisp CMUCL ECL emacs-cl GCL MCL MKCL Movitz Poplog Sacla SBCL ThinLisp WCL XCL
Also linked from: ACL ACL-COMPAT araneida Benchmarks Changes in June 2000 cl-jointgen Clozure Datoura detachtty Garnet Getting Started index Installing OpenMCL on Mac OS X Linux LISP Lisp newbie LispWorks LLVM MacOS X Marko Kocic NaCL NetBSD Performance Benchmarks Performance Benchmarks2 Planet of the Feebs Suggested Programming Projects 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