Lisp
<language> LISt Processing language.
(Or mythically "Lots of Irritating Superfluous Parentheses"). Artificial
Intelligence's mother tongue, a symbolic, functional, recursive language based
on the ideas of lambda-calculus, variable-length lists and trees as fundamental
data types and the interpretation of code as data and vice-versa.
Data objects in Lisp are lists and atoms. Lists may contain lists and atoms.
Atoms are either numbers or symbols. Programs in Lisp are themselves lists of
symbols which can be treated as data. Most implementations of Lisp allow
functions with side-effects but there is a core of Lisp which is purely
functional.
All Lisp functions and programs are expressions that return values; this,
together with the high memory use of Lisp, gave rise to Alan Perlis's famous
quip (itself a take on an Oscar Wilde quote) that "Lisp programmers know the
value of everything and the cost of nothing".
The original version was LISP 1, invented by John McCarthy
<jmc@sail.stanford.edu> at MIT in the late 1950s. Lisp is actually
older than any other high level language still in use except Fortran.
Accordingly, it has undergone considerable change over the years. Modern
variants are quite different in detail. The dominant HLL among hackers until the
early 1980s, Lisp now shares the throne with C. See languages of choice.
One significant application for Lisp has been as a proof by example that most
newer languages, such as COBOL and Ada, are full of unnecessary crocks. When the
Right Thing has already been done once, there is no justification for bogosity
in newer languages.
See also Association of Lisp Users, Common Lisp, Franz Lisp, MacLisp, Portable
Standard Lisp, Interlisp, Scheme, ELisp, Kamin's interpreters.
[Jargon File]
(1995-04-16)
Nearby terms:
LIS « LISA « Liskov substitution principle « Lisp
» *LISP » LISP 1 » LISP 1.5
|