History
Lisp was invented by John McCarthy in 1958 while he was at the Massachusetts Institute of Technology (MIT). McCarthy published its design in a paper in Communications of the ACM in 1960, entitled "Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I" ("Part II" was never published). He showed that with a few simple operators and a notation for functions, one can build a Turing-complete language for algorithms.
Information Processing Language was the first AI language, from 1955 or 1956, and already included many of the concepts, such as list-processing and recursion, which came to be used in Lisp.
McCarthy's original notation used bracketed "M-expressions" that would be translated into S-expressions. As an example, the M-expression car] is equivalent to the S-expression (car (cons A B)). Once Lisp was implemented, programmers rapidly chose to use S-expressions, and M-expressions were abandoned. M-expressions surfaced again with short-lived attempts of MLISP by Horace Enea and CGOL by Vaughan Pratt.
Lisp was first implemented by Steve Russell on an IBM 704 computer. Russell had read McCarthy's paper, and realized (to McCarthy's surprise) that the Lisp eval function could be implemented in machine code. The result was a working Lisp interpreter which could be used to run Lisp programs, or more properly, 'evaluate Lisp expressions.'
Two assembly language macros for the IBM 704 became the primitive operations for decomposing lists: car (Contents of the Address part of Register number) and cdr (Contents of the Decrement part of Register number). From the context, it is clear that the term "Register" is used here to mean "Memory Register", nowadays called "Memory Location". Lisp dialects still use car and cdr ( /ˈkɑr/ and /ˈkʊdər/) for the operations that return the first item in a list and the rest of the list respectively.
The first complete Lisp compiler, written in Lisp, was implemented in 1962 by Tim Hart and Mike Levin at MIT. This compiler introduced the Lisp model of incremental compilation, in which compiled and interpreted functions can intermix freely. The language used in Hart and Levin's memo is much closer to modern Lisp style than McCarthy's earlier code.
Lisp was a difficult system to implement with the compiler techniques and stock hardware of the 1970s. Garbage collection routines, developed by then-MIT graduate student Daniel Edwards, made it practical to run Lisp on general-purpose computing systems, but efficiency was still a problem. This led to the creation of Lisp machines: dedicated hardware for running Lisp environments and programs. Advances in both computer hardware and compiler technology soon made Lisp machines obsolete.
During the 1980s and 1990s, a great effort was made to unify the work on new Lisp dialects (mostly successors to Maclisp like ZetaLisp and NIL (New Implementation of Lisp)) into a single language. The new language, Common Lisp, was somewhat compatible with the dialects it replaced (the book Common Lisp the Language notes the compatibility of various constructs). In 1994, ANSI published the Common Lisp standard, "ANSI X3.226-1994 Information Technology Programming Language Common Lisp."
1955 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1986 | 1990 | 1995 | 2000 | 2005 | 2012 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Lisp 1.5 | Lisp 1.5 | ||||||||||||
Maclisp | Maclisp | ||||||||||||
ZetaLisp | ZetaLisp | ||||||||||||
NIL | NIL | ||||||||||||
Interlisp | Interlisp | ||||||||||||
Common Lisp | Common Lisp | ||||||||||||
Scheme | Scheme | ||||||||||||
ISLISP | ISLISP |
Read more about this topic: Lisp (programming Language)
Famous quotes containing the word history:
“History, as an entirety, could only exist in the eyes of an observer outside it and outside the world. History only exists, in the final analysis, for God.”
—Albert Camus (19131960)
“Postmodernism is, almost by definition, a transitional cusp of social, cultural, economic and ideological history when modernisms high-minded principles and preoccupations have ceased to function, but before they have been replaced with a totally new system of values. It represents a moment of suspension before the batteries are recharged for the new millennium, an acknowledgment that preceding the future is a strange and hybrid interregnum that might be called the last gasp of the past.”
—Gilbert Adair, British author, critic. Sunday Times: Books (London, April 21, 1991)
“The myth of independence from the mother is abandoned in mid- life as women learn new routes around the motherboth the mother without and the mother within. A mid-life daughter may reengage with a mother or put new controls on care and set limits to love. But whatever she does, her childs history is never finished.”
—Terri Apter (20th century)