emacs.d/clones/lisp/www.cliki.net/Common lisp implementation.html

220 lines
13 KiB
HTML
Raw Normal View History

2022-10-07 15:47:14 +02:00
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>CLiki: Common Lisp implementation</title>
<link rel="alternate" type="application/atom+xml" title="ATOM feed of edits to current article"
href="https://www.cliki.net/site/feed/article.atom?title=Common%20Lisp%20implementation">
<link rel="stylesheet" href="static/css/style.css">
<link rel="stylesheet" href="static/css/colorize.css">
</head>
<body>
<span class="hidden">CLiki - Common Lisp implementation</span>
<div id="content"><div id="content-area"><div id="article-title">Common Lisp implementation</div><div id="article"><a href="Common&#32;Lisp.html" class="category">Common Lisp</a> implementations and their <a href="Features.html" class="internal">*features*</a>.<p><h2>Comparison of actively developed Common Lisp implementations</h2><p>All the implementations below provide an <a href="FFI.html" class="internal">FFI</a> 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.<p>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.<p><table>
<tr>
<th>Implementation</th>
<th>Supported Platforms</th>
<th>Compiler</th>
<th>Threads?</th>
<th>Features</th>
<th>Startup file</th>
<th>License</th>
</tr>
<tr>
<td><a href="CLISP.html" class="internal">CLISP</a></td>
<td>Windows, Mac OS X, Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Dragonfly BSD</td>
<td>Bytecode</td>
<td>Yes (experimental)</td>
<td>Small image size, very efficient bignums, Callbacks,
<a href="https://clisp.sourceforge.io/impnotes/modules.html">modules</a>
</td>
<td>~/.clisprc.lisp</td>
<td>GPL2</td>
</tr>
<tr>
<td><a href="CMUCL.html" class="internal">CMUCL</a></td>
<td>Linux, Mac OS X, Solaris, FreeBSD, NetBSD, OpenBSD, IRIX, HPUX</td>
<td>Bytecode, Native &amp; Block Compilation</td>
<td>No</td>
<td>High quality native compiler, foreign callbacks</td>
<td>~/.cmucl-init.lisp</td>
<td>BSD3</td>
</tr>
<tr>
<td><a href="ECL.html" class="internal">ECL</a></td>
<td>Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Windows, Mac OS X, iOS, Android</td>
<td>Native via <a href="C.html" class="internal">C</a>, also bytecode</td>
<td>Yes (all platforms)</td>
<td>Executable delivery and portability. Integrates well with C programs (i.e. Embeddable, native powerful FFI).</td>
<td>~/.eclrc</td>
<td>LGPL-2.1+</td>
</tr>
<tr>
<td><a href="CCL.html" class="internal">CCL</a></td>
<td>Mac OS X, Linux, FreeBSD, Solaris, Android, Windows XP and later, Heroku</td>
<td>Native</td>
<td>Yes (all platforms)</td>
<td>Small image size, fast compiler, convenient and powerful FFI, callbacks, executable delivery, precise gc</td>
<td>~/ccl-init.lisp</td>
<td>Apache 2</td>
</tr>
<tr>
<td><a href="SBCL.html" class="internal">SBCL</a></td>
<td>Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, Windows <a href="http://www.sbcl.org/platform-table.html">(sbcl's platform table)</a>
</td>
<td>Native</td>
<td>Yes</td>
<td>High quality native compiler; callbacks; executable delivery;</td>
<td>~/.sbclrc</td>
<td>BSD2+PD</td>
</tr>
<tr>
<td><a href="ABCL.html" class="internal">ABCL</a></td>
<td>JVM, Google App Engine</td>
<td>JVM bytecode</td>
<td>Yes</td>
<td>FFI to Java, platform independence</td>
<td>~/.abclrc</td>
<td>GPL+Classpath exception</td>
</tr>
<tr>
<td><a href="MKCL.html" class="internal">MKCL</a></td>
<td>Linux, Windows XP and later</td>
<td>Native via C, bytecode-compiled interpreter</td>
<td>Yes</td>
<td>POSIX compliant runtime on Linux, Embeddable, FFI with callbacks.</td>
<td>~/.mkclrc</td>
<td>LGPL3</td>
</tr>
</table><p><a href="Daniel&#32;Weinreb.html" class="internal">Daniel Weinreb</a> has a current (as of February 2010) <a href="http://web.archive.org/web/20161105160832/https://common-lisp.net/~dlw/LispSurvey.html">survey of Common Lisp implementations</a> that is more detailed than the chart above.<p>All <a href="Free&#32;Software.html" class="category">Free Software</a> Common Lisp implementations (some of these may not be actively developed):<p><ul>
<li>
<a href="ABCL.html" class="internal">ABCL</a> -
<a href="http://abcl.org">Armed Bear Common Lisp</a> (aka ABCL) is a
</li>
<li>
<a href="ACL.html" class="internal">ACL</a> -
ACL refers to <a href="http://www.franz.com/products/allegrocl/">Allegro Common Lisp</a> from <a href="http://www.franz.com/">Franz, Inc.</a>, a non-free <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a>
</li>
<li>
<a href="bocl.html" class="internal">bocl</a> -
<a href="bocl.html" class="internal">bocl</a> is the Bootstraping <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a>
</li>
<li>
<a href="CCL.html" class="internal">CCL</a> -
CCL is the <a href="Clozure.html" class="internal">Clozure</a> <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a>
</li>
<li>
<a href="Clasp.html" class="internal">Clasp</a> -
Clasp is a Common Lisp implementation that interoperates with <a href="C++.html" class="new">C++</a> and uses <a href="LLVM.html" class="internal">LLVM</a> for just-in-time (JIT) compilation to native code
</li>
<li>
<a href="CLISP.html" class="internal">CLISP</a> -
CLISP is a <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a> by <a href="http://www.haible.de/bruno/">Bruno Haible</a>, then of Karlsruhe University, and <a href="http://www.mathe2.uni-bayreuth.de/stoll/programs/index.html">Michael Stoll</a>, then of Munich University, both in Germany
</li>
<li>
<a href="CMUCL.html" class="internal">CMUCL</a> -
<a href="CMUCL.html" class="internal">CMUCL</a> is a high-performance, free (mostly <a href="Public&#32;Domain.html" class="internal">Public Domain</a>) <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a> that aims towards <a href="ANSI.html" class="internal">ANSI</a> compatibility and runs on a number of Unix platforms - including <a href="Linux.html" class="internal">Linux</a>/ix86, <a href="Linux.html" class="internal">Linux</a>/Alpha,
</li>
<li>
<a href="Corman&#32;Common&#32;Lisp.html" class="internal">Corman Common Lisp</a> -
Corman Lisp is a Common Lisp development environment for Microsoft Windows operating systems running on Intel platforms
</li>
<li>
<a href="ECL.html" class="internal">ECL</a> -
Embeddable Common Lisp, a member of the <a href="KCL&#32;Family.html" class="category">KCL Family</a>, is a <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a> initially developed by Giuseppe Attardi, maintained for many years by <a href="Juan&#32;Jose&#32;Garcia-Ripoll.html" class="category">Juan Jose Garcia-Ripoll</a> and currently maintained by <a href="Daniel&#32;Kochmański.html" class="category">Daniel Kochmański</a>
</li>
<li>
<a href="emacs-cl.html" class="internal">emacs-cl</a> -
<a href="http://www.lisp.se/emacs-cl/">Emacs Common Lisp</a> is a <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a> written in Emacs Lisp
</li>
<li>
<a href="GCL.html" class="internal">GCL</a> -
<a href="GNU.html" class="internal">GNU</a> Common Lisp is a <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a> of the <a href="KCL&#32;Family.html" class="category">KCL Family</a> that uses gcc to compile Lisp into native binaries
</li>
<li>
<a href="JSCL.html" class="internal">JSCL</a> -
<a href="jscl.html" class="internal">jscl</a> is the Common Lisp to JavaScript Compiler, a subset of <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a>
</li>
<li>
<a href="KCL&#32;Family.html" class="internal">KCL Family</a> -
The KCL Family is a family of <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a>s originated from the influential <a href="https://en.wikipedia.org/wiki/Kyoto_Common_Lisp">KCL</a>
</li>
<li>
<a href="MCL.html" class="internal">MCL</a> -
MCL is <a href="ftp://ftp.clozure.com/pub/MCL/">Macintosh Common Lisp</a>, a venerable commercial <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a>
</li>
<li>
<a href="MKCL.html" class="internal">MKCL</a> -
ManKai Common Lisp
</li>
<li>
<a href="Movitz.html" class="internal">Movitz</a> -
Movitz is a <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a> that targets the x86 PC architecture "on-the-metal"
</li>
<li>
<a href="Poplog.html" class="internal">Poplog</a> -
Poplog is a multi-language programming system which includes its own <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a>, as well as Standard ML, Prolog, and Pop-11
</li>
<li>
<a href="SBCL.html" class="internal">SBCL</a> -
Steel Bank Common Lisp is an open source / free software <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a>
</li>
<li>
<a href="ThinLisp.html" class="internal">ThinLisp</a> -
ThinLisp is a <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a> that translates a subset of Common Lisp to very efficient <a href="C.html" class="category">C</a> code
</li>
<li>
<a href="UABCL.html" class="internal">UABCL</a> -
UABCL, a <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a>, is a port of ABCL to dotNet and Mono
</li>
<li>
<a href="UfasoftCommonLisp.html" class="internal">UfasoftCommonLisp</a> -
<a href="http://www.ufasoft.com/lisp">Ufasoft Common Lisp</a> development system
</li>
<li>
<a href="WCL.html" class="internal">WCL</a> -
WCL is a <a href="Common&#32;Lisp&#32;implementation.html" class="category">Common Lisp implementation</a> that provides Common Lisp as a Unix shared library that can be linked with Lisp and C code to produce efficient applications
</li>
<li>
<a href="XCL.html" class="internal">XCL</a> -
XCL is a <a href="Common&#32;lisp&#32;implementation.html" class="category">Common lisp implementation</a> featuring a kernel written in C++ and an optimizing compiler with backends for x86 and x86-64
</li>
</ul><p>For <a href="non-free.html" class="internal">non-free</a> implementations, see the <a href="https://en.wikipedia.org/wiki/Common_Lisp#Commercial_implementations">list on wikipedia</a>.<p>If performance is an important criterion for you, you might be interested in the <a href="Performance&#32;Benchmarks.html" class="internal">Performance Benchmarks</a> page. <p>You may also use this <a href="https://gitlab.com/com-informatimago/com-informatimago/blob/master/small-cl-pgms/what-implementation.lisp">what-implementation</a> CL program to help you determine what implementation to use. You may use it with <tt>telnet://hubble.informatimago.com:8101</tt>.</div></div>
<div id="footer" class="buttonbar"><ul><li><a href="Common&#32;Lisp&#32;implementation.html">Current version</a></li>
<li><a href="https://www.cliki.net/site/history?article=Common%20Lisp%20implementation">History</a></li>
<li><a href="https://www.cliki.net/site/backlinks?article=Common%20Lisp%20implementation">Backlinks</a></li><li><a href="https://www.cliki.net/site/edit-article?title=Common%20Lisp%20implementation&amp;from-revision=3865512397">Edit</a></li><li><a href="https://www.cliki.net/site/edit-article?create=t">Create</a></li></ul></div>
</div>
<div id="header-buttons" class="buttonbar">
<ul>
<li><a href="https://www.cliki.net/">Home</a></li>
<li><a href="https://www.cliki.net/site/recent-changes">Recent Changes</a></li>
<li><a href="CLiki.html">About</a></li>
<li><a href="Text&#32;Formatting.html">Text Formatting</a></li>
<li><a href="https://www.cliki.net/site/tools">Tools</a></li>
</ul>
<div id="search">
<form action="https://www.cliki.net/site/search">
<label for="search_query" class="hidden">Search CLiki</label>
<input type="text" name="query" id="search_query" value="" />
<input type="submit" value="search" />
</form>
</div>
</div>
<div id="pageheader">
<div id="header">
<span id="logo">CLiki</span>
<span id="slogan">the common lisp wiki</span>
<div id="login"><form method="post" action="https://www.cliki.net/site/login">
<label for="login_name" class="hidden">Account name</label>
<input type="text" name="name" id="login_name" class="login_input" />
<label for= "login_password" class="hidden">Password</label>
<input type="password" name="password" id="login_password" class="login_input" />
<input type="submit" name="login" value="login" id="login_submit" /><br />
<div id="register"><a href="https://www.cliki.net/site/register">register</a></div>
<input type="submit" name="reset-pw" value="reset password" id="reset_pw" />
</form>
</div>
</div>
</div>
</body></html>