Lisp (programming language)

LispLisp programming languageLisp 1.5Lisps LISP ("LISt Programming language")AlphaLispatomicAtomsL'''ispLisp dialects
Lisp (historically LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.wikipedia
829 Related Articles

Clojure

Rich HickeyClojureScriptClojure programming language
Today, the best-known general-purpose Lisp dialects are Clojure, Common Lisp, and Scheme.
Clojure (, like closure) is a modern, dynamic, and functional dialect of the Lisp programming language on the Java platform.

Garbage collection (computer science)

garbage collectiongarbage collectorgarbage-collected
As one of the earliest programming languages, Lisp pioneered many ideas in computer science, including tree data structures, automatic storage management, dynamic typing, conditionals, higher-order functions, recursion, the self-hosting compiler, and the read–eval–print loop.
Garbage collection was invented by John McCarthy around 1959 to simplify manual memory management in Lisp.

John McCarthy (computer scientist)

John McCarthyMcCarthyMcCarthy, John
John McCarthy developed Lisp in 1958 while he was at the Massachusetts Institute of Technology (MIT).
He coined the term "artificial intelligence" (AI), developed the Lisp programming language family, significantly influenced the design of the ALGOL programming language, popularized timesharing, invented garbage collection, and was very influential in the early development of AI.

Polish notation

prefix notationprefixŁukasiewicz notation
Lisp (historically LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.
Because of this, Lisp (see below) and related programming languages define their entire syntax in prefix notation (and others use postfix notation).

S-expression

S-expressionsfully parenthesized prefix notationparentheses
All program code is written as s-expressions, or parenthesized lists. McCarthy's original notation used bracketed "M-expressions" that would be translated into S-expressions.
In computing, s-expressions, sexprs or sexps (for "symbolic expression") are a notation for nested list (tree-structured) data, invented for and popularized by the programming language Lisp, which uses them for source code as well as data.

Bracket

parentheses{brackets
Lisp (historically LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.
In some cases, such as in LISP, parentheses are a fundamental construct of the language.

MLisp

M-expressions surfaced again with short-lived attempts of MLisp by Horace Enea and CGOL by Vaughan Pratt.
MLISP is a variant of Lisp with an Algol-like syntax based on M-Expressions, which were the function syntax in the original description of Lisp by John McCarthy.

CGOL

M-expressions surfaced again with short-lived attempts of MLisp by Horace Enea and CGOL by Vaughan Pratt.
CGOL (pronounced "see goll") is an alternative syntax featuring an extensible algebraic notation for the Lisp programming language.

Maclisp

During the 1980s and 1990s, a great effort was made to unify the work on new Lisp dialects (mostly successors to Maclisp such as ZetaLisp and NIL (New Implementation of Lisp) into a single language.
MACLISP (or Maclisp, sometimes styled MacLisp or MacLISP) is a programming language, a dialect of the language Lisp.

Self-hosting (compilers)

self-hostingself-hostedself-compiling compiler
As one of the earliest programming languages, Lisp pioneered many ideas in computer science, including tree data structures, automatic storage management, dynamic typing, conditionals, higher-order functions, recursion, the self-hosting compiler, and the read–eval–print loop.
The first self-hosting compiler (excluding assemblers) was written for Lisp by Hart and Levin at MIT in 1962.

M-expression

M-Expressions
McCarthy's original notation used bracketed "M-expressions" that would be translated into S-expressions.
In computer programming, M-expressions (or meta-expressions) were an early proposed syntax for the Lisp programming language, inspired by contemporary languages such as Fortran and ALGOL.

High-level programming language

high-levelhigh-level languagehigh level language
Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today.
During roughly the same period, Cobol introduced records (also called structs) and Lisp introduced a fully general lambda abstraction in a programming language for the first time.

Interlisp

Interlisp-D
Interlisp (also seen with a variety of capitalizations) is a programming environment built around a version of the programming language Lisp.

Macro (computer science)

macromacrosmacro language
Thus, Lisp programs can manipulate source code as a data structure, giving rise to the macro systems that allow programmers to create new syntax or new domain-specific languages embedded in Lisp.
Emacs was originally devised as a set of macros in the editing language TECO; it was later ported to dialects of Lisp.

Programming language

programming languageslanguagedialect
Lisp (historically LISP) is a family of computer programming languages with a long history and a distinctive, fully parenthesized prefix notation.
Below is a simple grammar, based on Lisp:

Franz Lisp

In computer programming, Franz Lisp is a discontinued Lisp programming language system written at the University of California, Berkeley (UC Berkeley, UCB) by Professor Richard Fateman and several students, based largely on Maclisp and distributed with the Berkeley Software Distribution (BSD) for the Digital Equipment Corporation (DEC) VAX minicomputer.

CAR and CDR

carcdr and
Two assembly language macros for the IBM 704 became the primitive operations for decomposing lists: [[car and cdr|]] (Contents of the Address part of Register number) and [[car and cdr|]] (Contents of the Decrement part of Register number), where "register" is used to refer to registers of the computer's central processing unit (CPU).
In computer programming, CAR and CDR ( or ) are primitive operations on cons cells (or "non-atomic S-expressions") introduced in the Lisp programming language.

Alonzo Church

ChurchChurch, Alonzo
Lisp was originally created as a practical mathematical notation for computer programs, influenced by the notation of Alonzo Church's lambda calculus.
The lambda calculus influenced the design of the LISP programming language and functional programming languages in general.

Compiler

compiledcompilerscompile
As one of the earliest programming languages, Lisp pioneered many ideas in computer science, including tree data structures, automatic storage management, dynamic typing, conditionals, higher-order functions, recursion, the self-hosting compiler, and the read–eval–print loop.
OOP concepts go further back but were part of LISP and Simula language science.

Allegro Common Lisp

Franz Allegro Common Lisp
Allegro Common Lisp is a programming language with an integrated development environment (IDE), developed by Franz Inc. It is a dialect of the language Lisp, a commercial software implementation of the language Common Lisp.

IBM 704

704address registerIBM704
Two assembly language macros for the IBM 704 became the primitive operations for decomposing lists: [[car and cdr|]] (Contents of the Address part of Register number) and [[car and cdr|]] (Contents of the Decrement part of Register number), where "register" is used to refer to registers of the computer's central processing unit (CPU). Lisp was first implemented by Steve Russell on an IBM 704 computer.
The programming languages FORTRAN and LISP were first developed for the 704, as was the SAP assembler—Symbolic Assembly Program, later distributed by SHARE as SHARE Assembly Program.

Steve Russell (computer scientist)

Steve RussellSlug' RussellStephen B. Russell
Lisp was first implemented by Steve Russell on an IBM 704 computer.
Russell wrote the first two implementations of the programming language Lisp for the IBM 704 mainframe computer.

Portable Standard Lisp

Portable Standard Lisp (PSL) is a programming language, a dialect of the language Lisp.

Le Lisp

LeLisp
Le Lisp (also Le_Lisp and Le-Lisp) is a programming language, a dialect of the language Lisp.

Planner (programming language)

PlannerPlanner programming languageMicro Planner
Lisp was used as the implementation of the programming language Micro Planner, which was used in the famous AI system SHRDLU.
The procedural paradigm was epitomized by Lisp [McCarthy et al. 1962] which featured recursive procedures that operated on list structures.