Common Lisp implementation
Common Lisp implementations and their *features*.

Comparison of actively developed Common Lisp implementations

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 License
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 GPL2
CMUCL Linux, Mac OS X, Solaris, FreeBSD, NetBSD, OpenBSD, IRIX, HPUX Bytecode, Native & Block Compilation No High quality native compiler, foreign callbacks ~/.cmucl-init.lisp BSD3
ECL Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Windows, Mac OS X, iOS, Android Native via C, also bytecode Yes (all platforms) Executable delivery and portability. Integrates well with C programs (i.e. Embeddable, native powerful FFI). ~/.eclrc LGPL2
CCL Mac OS X, Linux, FreeBSD, Solaris, Android, Windows XP and later, Heroku Native Yes (all platforms) Small image size, fast compiler, convenient and powerful FFI, callbacks, executable delivery, precise gc ~/ccl-init.lisp LLGPL
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 BSD2+PD
ABCL JVM, Google App Engine JVM bytecode Yes FFI to Java, platform independence ~/.abclrc GPL+Classpath exception
MKCL Linux, Windows XP and later Native via C, bytecode-compiled interpreter Yes POSIX compliant runtime on Linux, Embeddable, FFI with callbacks. ~/.mkclrc LGPL

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.

You may also use this what-implementation CL program to help you determine what implementation to use. You may use it with telnet://