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.
|Windows, Mac OS X, Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Dragonfly BSD
|Small image size, very efficient bignums, Callbacks, modules
|Linux, Mac OS X, Solaris, FreeBSD, NetBSD, OpenBSD, IRIX, HPUX
|Bytecode, Native & Block Compilation
|High quality native compiler, foreign callbacks
|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).
|Mac OS X, Linux, FreeBSD, Solaris, Android, Windows XP and later, Heroku
|Yes (all platforms)
|Small image size, fast compiler, convenient and powerful FFI, callbacks, executable delivery, precise gc
|Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Windows (sbcl's platform table)
|High quality native compiler; callbacks; executable delivery;
|JVM, Google App Engine
|FFI to Java, platform independence
|Linux, Windows XP and later
|Native via C, bytecode-compiled interpreter
|POSIX compliant runtime on Linux, Embeddable, FFI with callbacks.
All Free Software Common Lisp implementations (some of these may not be actively developed):
- ABCL - Armed Bear Common Lisp (aka ABCL) is a
- ACL - ACL refers to Allegro Common Lisp from Franz, Inc., a non-free Common Lisp implementation
- bocl - bocl is the Bootstraping Common Lisp implementation
- CCL - CCL is the Clozure Common Lisp implementation
- Clasp - Clasp is a Common Lisp implementation that interoperates with C++ and uses LLVM for just-in-time (JIT) compilation to native code
- CLISP - CLISP is a Common Lisp implementation by Bruno Haible, then of Karlsruhe University, and Michael Stoll, then of Munich University, both in Germany
- CMUCL - CMUCL is a high-performance, free (mostly Public Domain) Common Lisp implementation that aims towards ANSI compatibility and runs on a number of Unix platforms - including Linux/ix86, Linux/Alpha,
- Corman Common Lisp - Corman Lisp is a Common Lisp development environment for Microsoft Windows operating systems running on Intel platforms
- ECL - Embeddable Common Lisp, a member of the KCL Family, is a Common Lisp implementation initially developed by Giuseppe Attardi, maintained for many years by Juan Jose Garcia-Ripoll and currently maintained by Daniel Kochmański
- emacs-cl - Emacs Common Lisp is a Common Lisp implementation written in Emacs Lisp
- GCL - GNU Common Lisp is a Common Lisp implementation of the KCL Family that uses gcc to compile Lisp into native binaries
- KCL Family - The KCL Family is a family of Common Lisp implementations originated from the influential KCL
- MCL - MCL is Macintosh Common Lisp, a venerable commercial Common Lisp implementation
- Medley - Medley was the last release of the Xerox Lisp environment, before the whole environment was renamed Medley
- MKCL - ManKai Common Lisp
- Movitz - Movitz is a Common Lisp implementation that targets the x86 PC architecture "on-the-metal"
- npt - ANSI Common Lisp implementation built in C
- Poplog - Poplog is a multi-language programming system which includes its own Common Lisp implementation, as well as Standard ML, Prolog, and Pop-11
- SBCL - Steel Bank Common Lisp is an open source / free software Common Lisp implementation
- ThinLisp - ThinLisp is a Common Lisp implementation that translates a subset of Common Lisp to very efficient C code
- UABCL - UABCL, a Common Lisp implementation, is a port of ABCL to dotNet and Mono
- UfasoftCommonLisp - Ufasoft Common Lisp development system
- WCL - WCL is a Common Lisp implementation that provides Common Lisp as a Unix shared library that can be linked with Lisp and C code to produce efficient applications
- XCL - XCL is a Common lisp implementation featuring a kernel written in C++ and an optimizing compiler with backends for x86 and x86-64
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://hubble.informatimago.com:8101.