LISP
lastmod 2025-12-10created 2025-12-102 edits
Lisp (LISP) is a family of programming languages known for its long history and its distinctive parenthesized syntax. First drafted in 1958, it is the second-oldest high-level programming language still in wide use today, after Fortran. Like Fortran, Lisp went through many changes in its early days, and numerous dialects exist. The most widely known general-purpose Lisp dialects today are Common Lisp and Scheme. Also, the word "lisp" originally means a pronunciation in which the tongue easily gets tangled.
Lisp was originally created for the practical purpose of expressing mathematical notation through computer programs. It was heavily influenced by the notation of Alonzo Church's lambda calculus. It soon became the most popular language in artificial intelligence research labs. As one of the earliest programming languages, Lisp pioneered many concepts in computer science, such as tree data structures, garbage collection, dynamic typing, and interpreters.
The name LISP itself is short for "LISt Processing". Linked lists are one of Lisp's major data structures, and Lisp code is itself a list. As a result, Lisp programs can rearrange source code at the level of manipulating data structures. Through the Lisp macro system, programmers can create new source code, and even new languages embedded in existing Lisp, including languages for specific purposes.
The interchangeability of code and data gives Lisp itself the ability to interpret code on the fly. All program code is written as S-expressions, or parenthesized lists, and in a function call the function name or operator comes first, followed by the operands. For example, a function f with three operands a, b, and c is written as (f a b c).