LISP
Stands for List Processing
Developed in 1959 and was the second oldest computer language in the world
Typically interpreted, but compilers are available for some platforms
Standard version was called Common LISP
Simplify the language and the results of these are another language called Scheme
Most widely used with AI software
High-level programming language
LISP was developed by John McCarthy at MIT and his goals were to:
Create a language for symbolic computation
Implement a model of computation based on the theory of recursion
Provide a clear definition of the language syntax and semantics
Demonstrate formally the completeness of this computational model
In LISP, all expressions are built as parenthesis-enclosed lists allowing programs to be handled as data
Cogent’s Gamma language runs on top of SCADALISP – a version of LISP that has been optimized for size,
speed and memory usage, and uses the strength of LISP to facilitate development through:
Simplified programs
Unrestricted callbacks
Extensive GUI services
Run-time debugging
Powerful inter-task communications
LISP has a long, rich history way back forty years ago and it has survived all of the programming
“revolutions” that have rendered lesser languages obsolete
LISP can be very slow compared with any programming language
LISP is characterized by the following ideas:
Computing with symbolic expressions rather than numbers
Representation of symbolic expressions and other information by list structure in computer
memory
Representation of information in external media mostly by multi-level lists and sometimes by S-
expressions
A small set of selector and constructor operations expressed as functions
Composition of functions as a tool for forming more complex functions
The use of conditional expressions for getting branching into function definitions
The recursive use of conditional expressions as a sufficient tool for building computable
functions
The use of λ-expressions for naming functions
The representation of LISP programs as LISP data that can be manipulated by object programs
The conditional expression interpretation of Boolean connectives
Garbage collection as the means of erasure
Minimal requirements for declarations so that LISP statements can be executed in an on-line
environment without preliminaries
LISP statements as a command language in an on-line environment