# Common Lisp

> ANSI-standardized dialect of Lisp

**Wikidata**: [Q849146](https://www.wikidata.org/wiki/Q849146)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/Common_Lisp)  
**Source**: https://4ort.xyz/entity/common-lisp

## Summary

Common Lisp is a software application influenced by Lisp, Lisp Machine Lisp, Maclisp, Scheme (programming language), and Interlisp . It incorporates features and design elements from these earlier Lisp dialects, reflecting a synthesis of their capabilities and philosophies . The language was developed to unify and standardize the diverse Lisp traditions that had emerged in academic and industrial settings . Its design prioritizes flexibility and expressiveness, drawing directly from its predecessors to support both procedural and functional programming paradigms .

## Summary
Common Lisp is an ANSI-standardized dialect of the Lisp programming language, created in 1984 by a committee of researchers to unify and standardize the fragmented Lisp ecosystem. It is a multi-paradigm language that supports functional, procedural, object-oriented, and generic programming styles.

## Key Facts
- Standardized as ANSI X3.226 (later ANSI INCITS 226) by the Common Lisp committee J13
- First appeared in 1984, designed by Scott E. Fahlman, Richard P. Gabriel, and David Moon
- Based on earlier Lisp dialects: Interlisp, Maclisp, and Lisp Machine Lisp
- Supports dynamic typing with strong typing discipline
- Official website: https://common-lisp.net
- Has multiple implementations including Armed Bear Common Lisp for the JVM

## FAQs
### Q: What programming paradigms does Common Lisp support?
A: Common Lisp is a multi-paradigm language that supports functional programming, procedural programming, object-oriented programming, metaprogramming, reflective programming, and generic programming.

### Q: Is Common Lisp still used today?
A: Yes, Common Lisp remains active with ongoing development, multiple modern implementations, and a dedicated community. It has 36 Wikipedia language editions and active GitHub topics.

### Q: What are Common Lisp's main influences?
A: Common Lisp was influenced by several Lisp dialects including the original Lisp (1958), Interlisp (1967), Lisp Machine Lisp (1976), and Maclisp.

## Why It Matters
Common Lisp represents a pivotal moment in programming language history when the Lisp community unified to create a standardized, portable dialect that could run across different machines and implementations. This standardization effort in 1984 solved the fragmentation problem that had plagued Lisp implementations throughout the 1970s, making Lisp more accessible to industry and academia. As one of the earliest standardized multi-paradigm languages, Common Lisp demonstrated that a single language could effectively support functional, procedural, and object-oriented programming paradigms without sacrificing the expressive power that made Lisp famous. Its ANSI standardization ensured long-term stability and portability, influencing later language standardization efforts. Today, Common Lisp continues to serve as a powerful tool for rapid prototyping, artificial intelligence research, and systems where runtime flexibility and metaprogramming capabilities are essential.

## Notable For
- First major programming language to achieve ANSI standardization while supporting multiple programming paradigms
- Pioneered the concept of a unified Lisp standard, ending the "Lisp wars" between competing dialects
- Maintains backward compatibility with earlier Lisp dialects while adding modern features
- Features the Common Lisp HyperSpec, a comprehensive online reference documentation

## Body
### Origins and Standardization
Common Lisp emerged from the need to unify the fragmented Lisp ecosystem of the 1970s and early 1980s. The original Lisp, created in 1958, had spawned numerous dialects including Maclisp, Interlisp, and Lisp Machine Lisp. In 1984, a committee of researchers including Scott E. Fahlman, Richard P. Gabriel, and David Moon created Common Lisp as a standardized dialect that combined the best features of these implementations.

### Technical Characteristics
Common Lisp uses dynamic typing with strong typing discipline, meaning type checking occurs at runtime rather than compile time. It supports multiple programming paradigms: functional programming through first-class functions and lexical closures, procedural programming with traditional control structures, object-oriented programming via the Common Lisp Object System (CLOS), and generic programming through its type system.

### Standard and Implementations
The language was standardized as ANSI X3.226, later renamed ANSI INCITS 226. This standardization process involved multiple iterations including CLtL1 (Common Lisp the Language, 1st edition) and CLtL2. Modern implementations include Armed Bear Common Lisp (ABCL) which runs on the Java Virtual Machine, demonstrating Common Lisp's adaptability to new platforms.

### Documentation and Resources
The Common Lisp HyperSpec serves as the authoritative online reference, documenting the complete ANSI standard. Additional resources include the Common Lisp Cookbook at https://lispcookbook.github.io/cl-cookbook/, providing practical programming guidance.

## Schema Markup
```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "Common Lisp",
  "description": "ANSI-standardized dialect of Lisp programming language",
  "url": "https://common-lisp.net",
  "sameAs": ["https://www.wikidata.org/wiki/Q1126797", "https://en.wikipedia.org/wiki/Common_Lisp"],
  "additionalType": "ProgrammingLanguage"
}

## References

1. [Source](http://www.lispworks.com/documentation/HyperSpec/Body/01_ab.htm)
2. Freebase Data Dumps. 2013
3. YSO-Wikidata mapping project
4. National Library of Israel
5. KBpedia
6. [common-lisp · GitHub Topics · GitHub](https://github.com/topics/common-lisp)
7. [OpenAlex](https://docs.openalex.org/download-snapshot/snapshot-data-format)