This article was accepted into the corpus but its outbound wikilinks were never NER-processed — typical at the deepest BFS hop or when the run's entity cap was reached. No expansion funnel to show.
| ANSI Common Lisp | |
|---|---|
| Name | ANSI Common Lisp |
| Paradigm | Multi-paradigm: Functional programming, Procedural programming, Object-oriented programming, Meta-programming |
| Year | 1994 |
| Designer | X3J13 |
| Developer | American National Standards Institute |
| Typing | Dynamic, Strong typing |
| Implementations | CMUCL, SBCL, Allegro CL, Clozure CL, ECL, Clisp, GCL |
| Influenced by | Common Lisp, MacLisp, Lisp (programming language), Scheme (programming language) |
| Influenced | Emacs Lisp, Clojure (programming language), Racket (programming language), Julia (programming language) |
ANSI Common Lisp is the standardized specification of the Common Lisp language ratified in 1994 by a formal committee under American National Standards Institute. It consolidated decades of work from Lisp variants such as MacLisp, Interlisp, and implementations like Lisp Machine vendors, aiming to provide portability across implementations like CMUCL, Allegro CL, and Clisp. The standard defines core syntax, semantics, the object system, and a large standard library to enable code sharing among developers associated with institutions such as Xerox PARC, MIT, and Bell Labs.
The standard emerged from the work of committee X3J13 which followed efforts by projects at MIT, Stanford University, and Carnegie Mellon University addressing fragmentation caused by vendors including Symbolics, LMI, and Texas Instruments. Influential precedents included John McCarthy's original formulation at MIT and implementations such as MacLisp at Project MAC and the Interlisp family. During the 1980s and early 1990s the committee coordinated with stakeholders from DEC, Sun Microsystems, and IBM to reconcile differences between commercial systems like Allegro CL and research systems like CMUCL, producing the 1994 ANSI X3.226-1994 document. The ratification paralleled standardization processes in ISO and influenced subsequent language standard efforts like ISO C++ and ECMAScript.
The specification prescribes a large, dynamic language combining features from historical Lisp dialects implemented at organizations such as Xerox PARC, Symbolics, and Digital Equipment Corporation. It defines reader syntax, evaluation semantics, and an extensive quoted data model drawn from earlier work at MIT Artificial Intelligence Laboratory and Berkley AI Research. ANSI Common Lisp standardizes a lexical environment influenced by implementations like Scheme (programming language) while preserving dynamic features popularized by Emacs Lisp and Interlisp-VAX. Its design balances practical system programming needs observed at Bell Labs and abstraction mechanisms used in academic settings such as Stanford Artificial Intelligence Laboratory.
The standard specifies the Common Lisp Object System (CLOS), a multiple-dispatch Object-oriented programming model with metaclasses and method combination inspired by research at MIT and Carnegie Mellon University. It includes macros and reader macros tracing lineage to Lisp (programming language) work at MIT and runtime facilities comparable to those in Smalltalk systems at Xerox PARC. Numeric tower and arithmetic semantics reference numeric models discussed in conferences like ACM SIGPLAN and standards work at IEEE. Sequence and array operations, hash tables, condition system, and restart mechanisms reflect design patterns used in Symbolics and Lisp Machine environments. The inclusion of things such as packages, symbols, and gensyms continues traditions from MacLisp and influential practitioners including Guy Steele and Daniel P. Friedman.
The standard library defines streams, I/O, pathname conventions, and utilities shaped by experiences from UNIX environments at Bell Labs and file-system semantics used by VMS and BSD. The package system in the specification provides namespace management comparable to modules in Modula-2 and Ada (programming language), enabling symbol export/import conventions used by vendors like Franz Inc. and projects hosted at CMU. Standardized libraries cover text processing, sequence manipulation, and system interfaces that were refined through implementations such as Clozure CL and ECL and through interoperability efforts with systems at Sun Microsystems and IBM.
Robust open-source and commercial implementations implement the standard to varying extents: SBCL and CMUCL trace roots to research projects at Carnegie Mellon University, while Allegro CL originates with Franz Inc.; Clozure CL evolved from OpenMCL and support from vendors associated with Apple Computer research. Embeddable and portable implementations like ECL and GCL address needs in academic and industrial settings such as INRIA and Los Alamos National Laboratory. Implementations differ in garbage collection strategies, foreign function interfaces to C (programming language), and threading models influenced by POSIX and Win32 platform conventions used at Microsoft. Portability libraries and community projects hosted by groups like Common Lisp Project and repositories influenced by SourceForge and GitHub support cross-implementation development.
Vendors and communities introduced extensions beyond the standard to address performance, host integration, and modern concurrency, mirroring extension patterns from languages like C++ and Java (programming language). Dialects and related languages such as Emacs Lisp, AutoLISP, and Clojure (programming language) diverge in semantics or runtime model but trace conceptual ancestry to the standard. Standards compliance is assessed via test suites developed by organizations and academic groups at CMU and MIT, while extensions for Unicode, x86-64 optimizations, and FFI enhancements reflect platform trends at Intel and AMD.
The standard's comprehensive specification influenced language design and tooling across decades, informing the development of languages and systems at institutions such as MIT, Google, and Microsoft Research. Concepts from the CLOS influenced object systems in Python (programming language), Ruby (programming language), and JavaScript proposal discussions at ECMAScript Internationalization API forums. Academic curricula at Stanford University and Harvard University have taught Lisp concepts grounded in the standard, and commercial ecosystems by Franz Inc. and open-source projects at SourceForge and GitHub continue to propagate its practices. Its legacy persists in contemporary languages like Clojure (programming language), Racket (programming language), and Julia (programming language), and in research at laboratories including Xerox PARC and Bell Labs.