The LISP Programming Language

John McCarthy

John McCarthy (1927–2011). The father of Artificial Intelligence.

LISP is the second oldest programming language, being published at MIT after Fortran and shortly before COBOL. Created to follow the mathematical notation of the Alonzo Church lambda calculus. Among other contributions, LISP introduced the cond structure, which implemented the now essential IF… THEN… ELSE structure.

LISP introduced the ability to define tree data structures and dynamic data types. The first thing anyone who has used LISP remembers is its syntax based on Polish notation and extensive use of lists (LISP comes from “LISt Processor”). Its features make it easy to design useful rules for defining behavior in complex scenarios, which made it a favorite in the field of artificial intelligence. One of the outstanding features of LISP is that the code itself is structured in the form of lists, being accessible, and modifiable, by the code itself.

Peter Seibel LISP Book

Peter Seibel LISP Book online

LISP is a commonly interpreted language, which, together with the fact that it considers recursion as a control structure, means that it was not very efficient in its first versions. Although in the 1990s it suffered a certain decline, starting with Peter Seibel’s book (accessible online for free) it aroused new interest, and there is currently an active community that offers resources and discussion forums. Currently (2021), Common Lisp and Scheme are the most widespread versions.

The fact that it was the first published languages ​​made it obviously influence many others (Smalltalk, ALGOL), although the radical structure of LISP (which considers the same type both for the definition of the code and for structuring the data) does that cannot achieve the coherence and synergy of this.

LISP


Born: 1958
Evolution: Common Lisp (1984); ANSI Common Lisp (1994);
Influences of: IPL
Influences: ALGOL; Scheme; CLISP; Haskell; JavaScript; Logo; Smalltalk; Perl; Python; R;