Lisp
Definition
Lisp (List Processor) is the second-oldest high-level programming language still in widespread use, created by John McCarthy in 1958. It pioneered many computing concepts including tree data structures, automatic storage allocation, type systems, and recursive functions.
Key Details
- Paradigm: Multi-paradigm (functional, procedural, object-oriented)
- Syntax: S-expressions (symbolic expressions) using nested parentheses
- Key feature: Homoiconicity — code is represented as data structures
- Macro system: Powerful compile-time macros that operate on AST
- Major implementations: Common Lisp, Scheme, Clojure, Emacs Lisp
Major Implementations
Common Lisp
- Standardized as ANSI X3.226-1994
- Implementations: SBCL (BSD), Clozure CL (BSD), Allegro CL (commercial), LispWorks (commercial)
- Rich ecosystem for AI, rapid prototyping, and enterprise applications
Scheme
- Standardized as RnRS (Revised n Reports)
- Implementations: Racket (Apache 2.0), Guile (GPLv3+), Chicken (BSD)
- Emphasizes minimalism and lexical scoping
Clojure
- Modern Lisp for the JVM and .NET
- License: Eclipse Public License 1.0
- Focuses on immutable data structures, concurrency, and functional programming
- See also: Clojure
- Configuration and domain-specific languages
- Web development (via Clojure)
- Text processing and data transformation
Related Terms
- functional-programming — Lisp is the original functional programming language
- Clojure — Emacs editor uses Emacs Lisp (Elisp) as its extension language
- racket — Scheme dialect with educational and practical applications