<
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)