Lisp (programming language)

related topics
{math, number, function}
{system, computer, user}
{language, word, form}
{work, book, publish}
{theory, work, human}
{style, bgcolor, rowspan}
{acid, form, water}
{car, race, vehicle}
{company, market, business}
{build, building, house}
{group, member, jewish}
{water, park, boat}

Lisp (or LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older (by one year). Like Fortran, Lisp has changed a great deal since its early days, and a number of dialects have existed over its history. Today, the most widely known general-purpose Lisp dialects are Common Lisp and Scheme.

Lisp was originally created as a practical mathematical notation for computer programs, influenced by the notation of Alonzo Church's lambda calculus. It quickly became the favored programming language for artificial intelligence (AI) research. As one of the earliest programming languages, Lisp pioneered many ideas in computer science, including tree data structures, automatic storage management, dynamic typing, and the self-hosting compiler.

The name LISP derives from "LISt Processing". Linked lists are one of Lisp languages' major data structures, and Lisp source code is itself made up of lists. As a result, Lisp programs can manipulate source code as a data structure, giving rise to the macro systems that allow programmers to create new syntax or even new domain-specific languages embedded in Lisp.

The interchangeability of code and data also gives Lisp its instantly recognizable syntax. All program code is written as s-expressions, or parenthesized lists. A function call or syntactic form is written as a list with the function or operator's name first, and the arguments following; for instance, a function f that takes three arguments might be called using (f arg1 arg2 arg3).

Contents

Full article ▸

related documents
Propositional calculus
Fourier transform
Vienna Development Method
Group (mathematics)
Model theory
Exponentiation
Generic programming
Integral
C (programming language)
Clifford algebra
Polynomial
Vector space
Floating point
Discrete Fourier transform
Euclidean vector
Perl
Ordinal number
Quaternion
Mathematical logic
Algorithm
Regular expression
Common Lisp
Emmy Noether
Eiffel (programming language)
Surreal number
Prime number
Singular value decomposition
Radix sort
Natural deduction
Derivative