Hi. My name is Dan Weinreb. I was one of the co-designers of Common Lisp,
and co-founders of Symbolics.
I am almost finished writing a paper called "Common Lisp Implementations:
A Survey". I'd like to find a home for it on the web so that people can
read it.
Would it be possible to put it on your web site?
Below, I have included the beginning of the paper so you can see what
kind of thing it is. The text below is in "REST"; it will be automatically
translated into HTML.
Thank you.
-- Dan Weinreb (dlw(a)alum.mit.edu)
-----------------------------
=====================================
Common Lisp Implementations: A Survey
=====================================
by Daniel Weinreb (dlw(a)alum.mit.edu)
Version 1
There has been a new wave of interest in Common Lisp over the last few
years. This paper is a November, 2007 survey of Common Lisp
implementations that are currently being actively maintained. It also
provides references to writings about why Lisp is interesting and
important, Lisp textbooks, and useful Lisp resources including
repositories of available libraries. I hope it will help you find the
right implementation for your project or product.
How did I pick the implementations to include in the survey? Research
on the Internet showed that of all the implementations, some were
full-fledged in their time, but have been abandoned for one reason or
another, and some don't really count as being the Common Lisp dialect.
There are ten real currently-maintained implementations. I judged
this by seeing which implementations were currently being supported by
prominent libraries and tools, by seeing whether there was active
mail/news/etc. traffic about the implementation, by searching the web
and asking around. Obviously this was something of a judgement call
on my part. If I omitted any, it was certainly not on purpose.
Please let me know if there are others.
I did not run the implementations. I did not do any benchmark
(performance) comparisons of runtime or compiler speed, and you'll
find little in this paper about performance. I did not attempt to
independently verify the answers to the survey. No organization
endorses this paper. In particular, the web site on which you found
this paper does not endorse it and bears no resposibility for its
contents. I feel very confident that everybody who responded to the
survey did so in good faith. Any errors are entirely my fault.
Please send corrections to me.
This survey only covers implementations of the Common Lisp dialect
(ANSI Standard X3J13), not any other Lisp dialects, nor Scheme. The
primary design work for the initial Common Lisp was mainly 1982, with
the ANSI X3J13 standard following mainly in 1994, roughly speaking.
Guy L. Steele Jr. was the editor of the initial specification. He,
Dave Moon, Richard Gabriel, Scott Fahlman, and I were the primary
designers, although of course the design drew very heavily on
preceeding dialects. Papers about the history of Common Lisp are
referenced below (see "Resources").
In my opinion, having multiple supported implementations of a
language, rather than merely one canonical implementation, is a sign
of a robust and vibrant language. There are many Java implementations
(e.g. JRockit), many Python implementations (JPython, IronPython), and
so on. These Common Lisp implementations do a very good job of
meeting the official X3J13 language standard, and it's very easy,
often no work at all, to make an application developed in one run in
another if you stay within the defined language.
These are the implementations, in alphabetical order:
+----------------+---------+------------+----------------------------+
| Name | a.k.a. | License | Platforms |
+----------------+---------+------------+----------------------------+
| Allegro CL | | Commercial | Linux, Unix, Mac, Windows |
+----------------+---------+------------+----------------------------+
| Armed Bear CL | ABCL | GPL | Linux, Unix, Mac, Windows |
+----------------+---------+------------+----------------------------+
| CMU CL | CMUCL | Open | Linux, Unix, Mac |
+----------------+---------+------------+----------------------------+
| Clozure CL | OpenMCL | License | Linux, Unix, Mac |
+----------------+---------+------------+----------------------------+
| Corman CL | | Commercial | Windows |
+----------------+---------+------------+----------------------------+
| Embedded CL | ECL | LGPL | Linux, Unix, Mac, Windows |
+----------------+---------+------------+----------------------------+
| GNU clisp | CLISP | GPL | Linux, Unix, Mac, Windows |
+----------------+---------+------------+----------------------------+
| LispWorks | | Commercial | |
+----------------+---------+------------+----------------------------+
| Scieneer CL | SCL | License | Linux, Unix |
+----------------+---------+------------+----------------------------+
| Steel Bank CL | SBCL | License | Linux, Unix, Mac |
+----------------+---------+------------+----------------------------+
My deepest thanks to everyone who responded to the survey:
* Allegro CL: Kevin Layer
* Armed Bear CL: Peter Graves
* CMU CL: Raymond Toy
* Clozure CL: Andrew Shalit
* Embedded CL: Juan Jose Garcia-Ripoll
* GNU clisp: Sam Steingold
* LispWorks: Dave Fox
* Scieneer CL: Douglas Crosher
* Steel Bank CL: Nikodemus Siivola
Thanks to Bruce Tate for permission to quote his paper. Special
thanks to Pascal Costanza of Vrije Universiteit Brussel, Brussels,
Belgium, for all his wise advice and other invaluable help.
---------