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: the first line below article title is misleading, it advertise 'free', but *features* link shows all including the commercial ones, and this article title does not include 'free'

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.

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, 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, iOS 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, 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
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, Google App Engine JVM bytecode Yes FFI to Java, platform independence ~/.abclrc
MKCL Linux, Windows XP and later 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.

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