[ALU Logo]

History of Lisp

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 economic recessions.

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.

Resources

The early development of Lisp is described by McCarthy in the 1978 paper History of Lisp (see also his 1980 paper Lisp --- Notes on Its Past and Future), and the papers by Herbert Stoyan.

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.
Scheme
Educational and research language.

Major dialects in current use

Arc
New dialect for expert programmers.
AutoLisp
CAD program extension language.
Dylan
Object-oriented language inspired by Common Lisp.
Emacs Lisp
Text editor extension language.

Minor dialects

EuLisp
European Lisp dialect.
Interleaf
Typesetting and page layout program extension language.
ISLISP
Small language for industrial needs. It is "culturally compatible" with Common Lisp.
XLispStat
Dialect specialized for mathematical and statistical applications.

Dialects of Historical Interest

3Lisp
A reflective Lisp. The Lisp system was based on an infinite tower of Lisp interpreters.
Flavors
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 protocol.
Franz Lisp
This was a Lisp for conventional architectures (VAX), and the product that launched Lisp vendor Franz, Inc.
Interlisp
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.
LOOPS
The Lisp Object-Oriented Programming System developed at Xerox. A close precursor to CLOS. A fairly portable version is called PCL.
MacLisp
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.)

XLisp
Precursor of AutoLisp and XLispStat.
ZetaLisp
The implementation language for the Symbolics Lisp Machines. Has its roots in MacLisp.