Common Lisp: Difference between revisions

Content deleted Content added
data types
No edit summary
Line 10:
 
==Syntax==
Common Lisp is a Lisp; it uses [[S-expressionsexpression]]s to denote both code and data structure. Function and macro calls are written as lists, with the name of the function first, as in these examples:
 
(+ 2 2) ; adds 2 and 2, yielding 4
Line 45:
 
==Implementations==
Common Lisp is defined by a specification (like [[Ada programming language|Ada]] and [[C programming language|C]]) rather than by a single implementation (like [[Perl programming language|Perl]]). There are many implementations, and the standard spells out areas in which they may validly differ.
 
In addition, implementations tend to come with divergent sets of library packages, which provide functionality not covered in the standard. Some of these features have been rolled back into the standard, such as CLOS and the LOOP construct; others remain implementation-specific. Unfortunately, many valuable facilities for the modern programmer -- such as TCP/IP networking -- remain unstandardized.
There are commercial implementations available from Franz, Xanalys, Digitool, Corman and Scieneer. Actively maintained freely available implementations include:
 
Freely redistributable implementations include:
* CMU Common Lisp (CMUCL), from [[Carnegie Mellon University]];
 
* GNU Common Lisp (GCL), the [[GNU]] Project's Lisp compiler;
* Embeddable[http://www.cons.org/cmucl/ CMU Common Lisp] (ECLSCMUCL), designed to be embedded infrom [[CCarnegie programmingMellon language|CUniversity]] applications;
* [http://www.gnu.org/software/gcl/gcl.html GNU Common Lisp] (GCL), the [[GNU]] Project's Lisp compiler;
* GNU CLISP;
* [http://ecls.sourceforge.net/ Embeddable Common Lisp] (ECLS), designed to be embedded in [[C programming language|C]] applications;
* OpenMCL, an [[open source]] branch of Macintosh Common Lisp; and
* [http://clisp.sourceforge.net/ GNU CLISP];
* Steel Bank Common Lisp (SBCL), a branch from CMUCL.
* [http://openmcl.clozure.com/ OpenMCL], an [[open source]] branch of Macintosh Common Lisp; and
* [http://sbcl.sourceforge.net/ Steel Bank Common Lisp] (SBCL), a branch from CMUCL.
 
There are also commercial implementations available from Franz, Xanalys, Digitool, Corman and Scieneer. Actively maintained freely available implementations include:
 
==External links==