LLMpediaThe first transparent, open encyclopedia generated by LLMs

Lisp (programming language)

Generated by DeepSeek V3.2
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Expansion Funnel Raw 68 → Dedup 41 → NER 17 → Enqueued 16
1. Extracted68
2. After dedup41 (None)
3. After NER17 (None)
Rejected: 24 (not NE: 24)
4. Enqueued16 (None)
Similarity rejected: 1
Lisp (programming language)
NameLisp
ParadigmFunctional programming, Metaprogramming, Reflective programming
DesignerJohn McCarthy
DeveloperSteve Russell (computer scientist), Timothy P. Hart, Mike Levin
TypingDynamic typing, Strong typing
ImplementationsCommon Lisp, Scheme, Clojure, Emacs Lisp
InfluencedSmalltalk, Prolog, Dylan (programming language), Ruby (programming language), Python (programming language), JavaScript

Lisp (programming language). Lisp is a family of programming languages with a long history and a distinctive, fully parenthesized prefix notation. Its name derives from "LISt Processor," highlighting its foundational use of linked lists as a primary data structure. Conceived by John McCarthy in 1958, it is the second-oldest high-level language still in widespread use, after Fortran, and has pioneered many concepts in Computer science.

History

The language was invented in 1958 by John McCarthy while he was at the Massachusetts Institute of Technology (MIT). His seminal paper, "Recursive Functions of Symbolic Expressions and Their Computation by Machine," outlined the core ideas. The first interpreter was implemented by Steve Russell (computer scientist) on an IBM 704 computer. Early development was centered at MIT, the Stanford Artificial Intelligence Laboratory, and the Bolt, Beranek and Newman (BBN) company, becoming the language of choice for Artificial intelligence research throughout the 1960s and 1970s. Key early dialects included Lisp 1.5 and Maclisp, which influenced later systems. The proliferation of incompatible variants led to efforts at standardization, culminating in the creation of Common Lisp and Scheme.

Features and syntax

The most recognizable feature of Lisp is its symbolic expression (S-expression) syntax, where both code and data are represented as parenthesized lists. This homoiconic nature makes powerful Metaprogramming techniques, like macros, central to the language. Lisp was an early adopter of automatic memory management via Garbage collection (computer science). It treats functions as first-class citizens, supports anonymous functions with lambda expressions, and provides sophisticated facilities for Symbolic programming. Other hallmark features include its interactive read–eval–print loop (REPL), Dynamic typing, and conditional expressions.

Dialects and standards

The Lisp family has fragmented into many dialects, broadly categorized into two main branches. The Common Lisp dialect, standardized by ANSI in 1994, is a large, feature-rich language designed to unify preceding variants like Maclisp and ZetaLisp. The Scheme dialect, developed by Guy L. Steele and Gerald Jay Sussman, emphasizes minimalist design, Lexical scope, and powerful Tail call optimization. Other significant implementations include Clojure, a modern dialect targeting the Java virtual machine; Emacs Lisp, the extension language for the GNU Emacs editor; and AutoLISP, used for customization in Autodesk products like AutoCAD. Historically influential dialects also include Interlisp and Franz Lisp.

Applications and influence

Historically, Lisp was the dominant language in the field of Artificial intelligence, used in pioneering projects like SHRDLU and the Dendral expert system. It remains vital in areas such as computer-aided design (CAD), Rapid prototyping, and Theorem proving, with systems like ACL2 built on it. Its concepts profoundly influenced the design of many later languages, including Smalltalk, Ruby (programming language), Python (programming language), JavaScript, and Perl. The language's emphasis on interactive development and metaprogramming can be seen in integrated development environments for other languages and in the architecture of extensible systems like GNU Emacs and Audacity.

Category:Programming languages Category:Lisp programming language family Category:Artificial intelligence