Common Lisp

E133804

Common Lisp is a powerful, multi-paradigm dialect of the Lisp programming language standardised in the 1980s, known for its rich macro system, dynamic typing, and suitability for large-scale, extensible software systems.

All labels observed (5)

How this entity was disambiguated

Statements (85)

Predicate Object
instanceOf Lisp dialect
multi-paradigm programming language
programming language
evaluationStrategy eager evaluation
fileExtension .cl
.lisp
.lsp
hasCommunityOrganization Common Lisp Foundation (historical/related efforts)
hasDesignGoal backward compatibility with earlier Lisps
extensibility
suitability for large-scale software systems
hasFeature Common Lisp Object System
arrays
bignums
complex numbers
condition system
dynamic redefinition of classes
dynamic redefinition of functions
hash tables
introspection and reflection
keyword arguments
macro system
multiple numeric types
optional arguments
package system
pathnames
ratio numbers
reader macro system
rest arguments
sequence functions
streams
structures
symbol properties
hasImplementation ABCL
Allegro CL
CLISP
CMUCL
linked to: CMU Common Lisp

Clozure CL
ECL
LispWorks
SBCL
hasSpecification Common Lisp HyperSpec
linked to: Common Lisp
hasStandardLibrary Common Lisp standard functions and macros
hasTypingDiscipline dynamic typing
strong typing (practically)
influenced Clojure
Dylan
Emacs Lisp (later features)
Racket (some ideas)
linked to: Racket
influencedBy Interlisp
Maclisp
Scheme (to some extent)
Zetalisp
paradigm functional programming
imperative programming
meta-programming
object-oriented programming
primarySyntaxStyle S-expressions
standardDocument ANSI INCITS 226-1994 (R2004)
ANSI X3.226-1994
standardizationBody ANSI
standardizedIn 1980s
supports closures
compile-time evaluation
conditions and restarts
dynamic scoping (special variables)
first-class functions
foreign function interfaces (implementation-dependent)
generic functions
interactive development (REPL)
lexical scoping
macros
multiple dispatch
multiple inheritance
multiple return values
packages (namespaces)
reader macros
runtime code compilation
symbolic AI programming (historically popular)
symbolic computation
tail-call optimization (implementation-dependent)
usedFor artificial intelligence research
domain-specific languages
large, long-lived systems
rapid prototyping

How these facts were elicited

Referenced by (16)

Full triples — surface form annotated when it differs from this entity's canonical label.

Scheme influenced Common Lisp
Lisp notableImplementation Common Lisp
subject linked to: Lisp programming language
Lisp standardizedAs Common Lisp
subject linked to: Lisp programming language
Lisp influenced Common Lisp
subject linked to: Lisp programming language
Scott Fahlman knownFor Common Lisp
Maclisp influenced Common Lisp
Common Lisp hasSpecification Common Lisp HyperSpec
linked to: Common Lisp
Guy L. Steele Jr. notableWork Common Lisp
Guy L. Steele Jr. notableWork Common Lisp the Language
linked to: Common Lisp
Guy L. Steele Jr. coDesigned Common Lisp language
linked to: Common Lisp
Kawa supportsLanguage Common Lisp (experimental/partial)
linked to: Common Lisp
Clojure influencedBy Common Lisp
ACL2 basedOn Common Lisp
subject linked to: ACL2 theorem proving system
ACL2 writtenIn Common Lisp
subject linked to: ACL2 theorem proving system
Matt Kaufmann languageUsed Common Lisp
Matt Kaufmann developsSoftwareIn Common Lisp