Lisp was invented by Artificial Intelligence (AI) pioneer John Mc Carthy in the
late 1950s. It was intended as a mathematical
formalism for reasoning about the use of recursion equations as a
model for computation. Of computer languages still in widespread use
today, only Fortran is older. Over the past four decades Lisp
was able to survive all sorts of technology fads, market crises and
The Lisp family of languages has evolved with the field of computer
science, both by putting the best ideas from the field into practical
use, and by contributing many such ideas. The association of Lisp with
research, however, has not always been beneficial. Lisp has always
been among the main tools of AI since the beginning. When the
commercial AI market failed to deliver on its promises, Lisp was
blamed as a scapegoat. In the late 1980s, many companies abandoned
Lisp in favor of other languages, starting the so called
"AI winter". Although Lisp survived the
crisis, some of the resulting prejudice and lack of information is
still present in the computing field.
In the early 1980s there were a number of increasingly diverging
Lisp dialects. The user community started a major consolidation and
standardization effort to design the Common Lisp
dialect as a general purpose, industrial strength programming
language. This work continued under the auspices of ANSI. When Common Lisp was formally
approved in 1994, it became the first ANSI standard (X3.226-1994) to
incorporate object-oriented programming.
Lisp is now a family of powerful and mature
languages. Its user community leverages the stability of Common Lisp
to solve large, complex and challenging problems in
industry and research. But the future of Lisp is not locked: its
nature allows it to adapt and evolve by both creating layered
standards for existing dialects such as Common Lisp, or creating
completely new designs.
The early development of Lisp is described by McCarthy in the 1978
of Lisp (see also his 1980 paper Lisp ---
Notes on Its Past and Future), and the papers
Two of the major developers of the language since then, Richard Gabriel and Guy
L. Steele, presented The
Evolution of Lisp at the 1993 ACM History of Programming
Languages Conference. A shorter history is also available as section
1.1.2 of the Common
Lisp HyperSpec, an HTML version of the language specification
mechanically generated from the text of the ANSI standard.
The Lisp Family of Languages
Major languages in current use
- Common Lisp
- General purpose, industrial strength language.
- Educational and research language.
Major dialects in current use
- New dialect for expert programmers.
- CAD program extension language.
- Object-oriented language inspired by Common Lisp.
- Emacs Lisp
- Text editor extension language.
- European Lisp dialect.
- Typesetting and page layout program extension language.
- Small language for industrial needs. It is "culturally
compatible" with Common Lisp.
- Dialect specialized for mathematical and statistical
Dialects of Historical Interest
- A reflective Lisp. The Lisp system was based on an infinite tower
of Lisp interpreters.
- The object-oriented programming facility of Zetalisp. Major
differences from the Common Lisp Object System (CLOS, the Common Lisp
object-oriented facility) include message passing rather than generic
functions (more like Smalltalk), and a different inheritance ordering
- Franz Lisp
- This was a Lisp for conventional architectures (VAX), and the
product that launched Lisp vendor Franz, Inc.
- This dialect was derived from BBN Lisp and developed at Xerox. It was
the base for some early workstations. These systems had a nice comfortable
user environment using mouse and windows. The language lives on in
Medley. It was also the base for NoteCards, an early hypertext system.
Commercialized as Medley.
- Lisp 1.5
- The first major Lisp dialect, developed by John McCarthy and his
colleagues. For reference see the book LISP
1.5 Programmer's Manual (MIT Press, 1962). Lisp 1.5 already
featured a native code compiler.
- The Lisp Object-Oriented Programming System developed at Xerox. A
close precursor to CLOS. A fairly portable version is called PCL.
- MacLisp was developed at MIT and had much influence on the
design of Common Lisp. In particular, ZetaLisp and Scheme
were descendent from it. Paper: The Multics MACLISP
Compiler -- the Basic Hackery -- a Tutorial.
The MAC in Maclisp had nothing to do with the Apple Macintosh,
which did not come onto the computer scene until later. Rather, it
referred to Project MAC, a research project at MIT which later became
known as the Laboratory for Computer Science. The acronym MAC stood
for no particular thing, but various meanings were attached, such as:
"Men and Computers", "Minds and Cognition",
"Machine-Aided Cognition", etc. (The symbolic algebra
program Macsyma was originally written at Project MAC in Maclisp,
hence the MAC in its name.)
(Thanks to Kent Pitman for
the derivation of the name.)
- Precursor of AutoLisp and XLispStat.
- The implementation language for the Symbolics
Lisp Machines. Has its roots in MacLisp.