Generated by GPT-5-mini| Common Lisp | |
|---|---|
![]() Jooja · CC BY-SA 4.0 · source | |
| Name | Common Lisp |
| Paradigm | Multi-paradigm: Functional programming, Procedural programming, Object-oriented programming |
| Designer | Guy L. Steele Jr., Richard P. Gabriel, John McCarthy |
| First appeared | 1984 |
| Typing | Dynamic, Duck typing |
| Implementations | SBCL, CMUCL, CLISP, ECL, Allegro CL, LispWorks |
| Influenced by | Lisp (programming language), Maclisp, Interlisp |
| Influenced | Emacs Lisp, Scheme (programming language), Clojure, Racket |
Common Lisp Common Lisp is a general-purpose, multi-paradigm programming language standardized in the 1980s to unify multiple Lisp (programming language) dialects. It was developed by language designers such as Guy L. Steele Jr. and Richard P. Gabriel and adopted by implementers across academic and industrial institutions including MIT, Carnegie Mellon University, and Xerox PARC. Common Lisp combines features from earlier systems like Maclisp and Interlisp and influenced later languages such as Emacs Lisp, Scheme (programming language), and Clojure.
Common Lisp emerged from efforts coordinated by committees with members from Xerox PARC, MIT, Stanford University, CMU, and industrial vendors including Symbolics, Lisp Machines, Inc., and Sun Microsystems. The language consolidated concepts from Maclisp, ZetaLisp, and Franz Lisp amid debates recorded in venues like SIGPLAN meetings and publications by ACM. Major contributors included Paul Graham, Richard P. Gabriel, Daniel Weinreb, Jon L. White, and Guy L. Steele Jr., culminating in the ANSI Common Lisp standard approved by ANSI and published in 1994. Post-standard developments involved implementers such as Lucid Inc., Harlequin, and open-source projects at CMU leading to SBCL and CMUCL.
Common Lisp provides a rich set of abstractions influenced by earlier work at MIT AI Lab and systems used at Bell Labs. It supports multiple paradigms with features like the Common Lisp Object System (CLOS) developed by designers including Guy L. Steele Jr. and Daniel Weinreb, generic functions influenced by Xerox PARC research, and a macro system that traces back to Lisp (programming language) metaprogramming. Numeric and sequence libraries reflect work from IEEE and ISO numeric standards, while the condition system's design connects to exception handling concepts explored at Sun Microsystems and Symbolics. The language’s standard library includes features for input/output, hash tables, packages, and read-eval-print loop (REPL) behaviors used in projects at MIT, Harvard, and Stanford University research groups.
Formal standardization was coordinated by ANSI with committee chairs and participants from Xerox, Apple Computer, DEC, and IBM. Implementations span commercial products like Allegro CL and LispWorks and open-source systems such as SBCL, CMUCL, CLISP, and ECL developed by communities around GNU Project, Free Software Foundation, and university labs at Carnegie Mellon University and University of Tokyo. Portability efforts reference toolchains and build systems from Autoconf and integration examples with LLVM, GCC, and foreign function interfaces to C libraries used by NASA, Siemens, and Thomson Reuters in niche applications.
Common Lisp's surface syntax derives from the parent Lisp (programming language) S-expression notation used in projects at MIT and Stanford University, with prefix notation developed alongside McCarthy's early work. Semantics include dynamic scoping history from Maclisp and lexical scoping models refined in academic papers by John McCarthy and Guy L. Steele Jr.. The macro system supports hygienic and non-hygienic transformations discussed in conferences such as ICFP. Evaluation rules, special operators, and the readtable mechanism have been described in technical reports from Xerox PARC and in textbooks used at Carnegie Mellon University and University of Cambridge courses. The object system (CLOS) specifies method combination and multiple inheritance policies influenced by Flavors and research at Symbolics.
Tooling for Common Lisp includes integrated development environments like LispWorks IDE and commercial offerings from Franz Inc. as well as open-source editors and integrations such as SLIME for Emacs (text editor), Sly (software) for GNU Emacs, and plugins for Visual Studio Code developed by community contributors. Debugging and performance analysis features were advanced by teams at Xerox PARC and CMU, and profilers and inspectors are found in Allegro CL and SBCL. Build and packaging tools reference systems like ASDF (Another System Definition Facility), interoperability modules for CFFI connecting to libc and POSIX APIs, and deployment practices used by NASA and Lockheed Martin in mission-critical contexts.
Common Lisp has been used in artificial intelligence projects at MIT AI Lab, commercial expert systems at Xerox PARC and Symbolics, web applications by startups influenced by Paul Graham's incubator experience at Y Combinator, and natural language processing research at Stanford University and University of Edinburgh. The community includes mailing lists, conferences like International Lisp Conference and European Lisp Symposium, and organizations such as Association for Computing Machinery SIGPLAN chapters and local user groups connected to University College London and UC Berkeley. Active repositories and package indices are maintained by contributors from GitHub, GitLab, and university labs, with teaching materials at MIT OpenCourseWare and tutorials presented at PyCon-adjacent workshops.