Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Common Lisp
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Programming language standard}} {{Use mdy dates|date=April 2020}} {{Infobox programming language | name = Common Lisp | logo = Lisp logo.svg | logo size = 120px | family = [[Lisp (programming language)|Lisp]] | paradigm = [[Multi-paradigm programming language|Multi-paradigm]]: [[procedural programming|procedural]], [[functional programming|functional]], [[object-oriented programming|object-oriented]], [[metaprogramming|meta]], [[reflective programming|reflective]], [[generic programming|generic]] | generation = [[3GL]] | released = {{Start date and age|1984|p=y}}, {{Start date and age|1994|p=y}} for ANSI Common Lisp | designer = [[Scott Fahlman]], [[Richard P. Gabriel]], [[David A. Moon]], [[Kent Pitman]], [[Guy Steele]], [[Dan Weinreb]] | developer = [[American National Standards Institute|ANSI]] [[X3J13]] committee | standard reference = [[Common Lisp HyperSpec]] | latest release version = | latest release date = | typing = [[Dynamic typing|Dynamic]], [[Strongly-typed programming language|strong]] | scope = Lexical, optionally dynamic | namespace style = Lisp-2 | implementations = [[Allegro Common Lisp|Allegro CL]], [[Armed Bear Common Lisp|ABCL]], [[Clasp (Common Lisp)|Clasp]], [[CLISP]], [[Clozure CL]], [[CMUCL]], [[Embeddable Common Lisp|ECL]], [[GNU Common Lisp|GCL]], [[LispWorks]], [[Scieneer Common Lisp|Scieneer CL]], [[SBCL]], [[Genera (operating system)|Symbolics Common Lisp]] | dialects = CLtL1, CLtL2, ANSI Common Lisp | influenced by = [[Lisp (programming language)|Lisp]], [[Lisp Machine Lisp]], [[Maclisp]], [[Scheme (programming language)|Scheme]], [[Interlisp]] | influenced = [[Clojure]], [[Dylan (programming language)|Dylan]], [[Emacs Lisp]], [[EuLisp]], [[ISLISP]], [[*Lisp]], [[AutoLisp]], [[Julia (programming language)|Julia]], [[Moose (Perl)|Moose]], [[R (programming language)|R]], [[Cadence SKILL|SKILL]], [[SubL]] | operating system = [[Cross-platform]] | license = | website = {{URL|common-lisp.net}} | file ext = .lisp, .lsp, .l, .cl, .fasl }} '''Common Lisp''' ('''CL''') is a dialect of the [[Lisp (programming language)|Lisp programming language]], published in [[American National Standards Institute]] (ANSI) standard document ''ANSI INCITS 226-1994 (S2018)''<ref>{{cite web|url=https://share.ansi.org/Shared%20Documents/Standards%20Action/2018-PDFs/SAV4952.pdf#page=10 |archive-url=https://web.archive.org/web/20210412125343/https://share.ansi.org/Shared%20Documents/Standards%20Action/2018-PDFs/SAV4952.pdf |archive-date=2021-04-12 |url-status=live|title=ANSI Standards Action - December 28, 2018|website=ansi.org}}</ref> (formerly ''X3.226-1994 (R1999)'').<ref>Quoted from cover of cited standard. ANSI INCITS 226-1994 [S2008], for sale on standard's [https://webstore.ansi.org/Standards/INCITS/INCITS2261994S2008 document page] {{webarchive|url=https://web.archive.org/web/20200927024609/https://webstore.ansi.org/Standards/INCITS/INCITS2261994S2008 |date=September 27, 2020}}.</ref> The [[Common Lisp HyperSpec]], a [[hyperlink]]ed [[HTML]] version, has been derived from the ANSI Common Lisp standard.<ref>{{cite web|url=http://www.lispworks.com/documentation/HyperSpec/Front/Help.htm#Authorship|title=CLHS: About the Common Lisp HyperSpec (TM)|website=lispworks.com}}</ref> The Common Lisp language was developed as a standardized and improved successor of [[Maclisp]]. By the early 1980s several groups were already at work on diverse successors to MacLisp: [[Lisp Machine Lisp]] (aka ZetaLisp), [[Spice Lisp]], [[NIL (programming language)|NIL]] and [[S-1 Lisp]]. Common Lisp sought to unify, standardise, and extend the features of these MacLisp dialects. Common Lisp is not an implementation, but rather a language [[specification]].<ref>{{cite web|url=http://www.lispworks.com/documentation/HyperSpec/Body/01_ab.htm|title=CLHS: Section 1.1.2|website=lispworks.com}}</ref> Several [[#Implementations|implementations]] of the Common Lisp standard are available, including [[free and open-source software]] and proprietary products.<ref>{{Cite web |url=http://common-lisp.net/~dlw/LispSurvey.html |title=Common Lisp Implementations: A Survey |access-date=December 22, 2007 |archive-url=https://web.archive.org/web/20120421181340/http://common-lisp.net/~dlw/LispSurvey.html |archive-date=April 21, 2012 |url-status=dead}}</ref> Common Lisp is a general-purpose, [[multi-paradigm programming language]]. It supports a combination of [[procedural programming|procedural]], [[functional programming|functional]], and [[object-oriented programming]] paradigms. As a [[dynamic programming language]], it facilitates evolutionary and [[Iterative and incremental development|incremental software development]], with iterative [[Compiler|compilation]] into efficient run-time programs. This incremental development is often done interactively without interrupting the running application. It also supports optional type annotation and casting, which can be added as necessary at the later [[Profiling (computer programming)|profiling]] and optimization stages, to permit the compiler to generate more efficient code. For instance, <code>fixnum</code> can hold an [[Boxing (computer science)|unboxed]] integer in a range supported by the hardware and implementation, permitting more efficient arithmetic than on big integers or arbitrary precision types. Similarly, the compiler can be told on a per-module or per-function basis which type of safety level is wanted, using ''optimize'' declarations. Common Lisp includes [[Common Lisp Object System|CLOS]], an [[object system]] that supports [[multimethods]] and method combinations. It is often implemented with a [[Metaobject]] Protocol. Common Lisp is extensible through standard features such as ''Lisp [[Macro (computer science)|macros]]'' (code transformations) and ''reader macros'' (input parsers for characters). Common Lisp provides partial backwards compatibility with [[Maclisp]] and John McCarthy's original [[Lisp (programming language)|Lisp]]. This allows older Lisp software to be ported to Common Lisp.<ref>{{cite web |url=http://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/wang.html |title=Old LISP programs still run in Common Lisp |access-date=May 13, 2015 }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)