Clozure CL (CCL) is a
Common Lisp implementation. It implements the full ANSI Common Lisp standard with several extensions (
CLOS MOP, threads, CLOS conditions, CLOS streams, ...). It contains a command line development environment, an experimental integrated development environment (IDE) for Mac OS X using the
Hemlock editor, and can also be used with
SLIME
Slime may refer to:
Biology
* Slime mold, a broad term often referring to roughly six groups of Eukaryotes
* Biofilm, an aggregate of microorganisms in which cells adhere to each other and/or to a surface
* Slimy (fish), also known as the pony ...
(a Common Lisp development environment for
GNU Emacs
GNU Emacs is a free software text editor. It was created by GNU Project founder Richard Stallman, based on the Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of ...
). Clozure CL is
open source and the project is hosted by Clozure Associates.
Supported platforms
Clozure CL supports the
Mac OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
,
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
,
FreeBSD,
Solaris
Solaris may refer to:
Arts and entertainment Literature, television and film
* ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem
** ''Solaris'' (1968 film), directed by Boris Nirenburg
** ''Solaris'' (1972 film), directed by ...
and
Microsoft Windows platforms. There are 32 and 64 bit
x86
x86 (also known as 80x86 or the 8086 family) is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was intr ...
variants for each. Additionally, there are
PowerPC ports for Mac OS X and Linux, and a 32-bit
ARM
In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
port for Linux.
Applications
Clozure CL was used by
ITA Software
ITA Software is a travel industry software division of Google, formerly an independent company, in Cambridge, Massachusetts. The company was founded by Jeremy Wertheimer, a computer scientist from the MIT Artificial Intelligence Laboratory and Co ...
for the business logic of a new
Airline Reservation System.
Clozure CL is also commonly used as an underlying Common Lisp implementation for the ACL2 theorem prover.
History
Formerly known as OpenMCL, Clozure CL is an evolution of
Macintosh Common Lisp
Macintosh Common Lisp (MCL) is an implementation and IDE for the Common Lisp programming language. Various versions of MCL run under the classic Mac OS (m68k and PPC) and Mac OS X.
Versions of MCL up to and including 5.1 are proprietary. Vers ...
.
Technology
CCL contains a precise, generational, compacting garbage collector. CCL's compiler produces native instructions for Lisp expressions and files. By default every expression entered at the
REPL is compiled to native code.
Lisp threads are implemented as preemptively-scheduled, native operating-system threads.
CCL implements built-in facilities to easily interface with C and Objective-C libraries (Cocoa bridge) and these are used to implement the IDE amongst other things.
The
IDE (based upon the
Hemlock editor) is currently labelled as experimental. An effort
Community pledge drive
for IDE improvements is underway to improve this.
References
External links
Clozure CL
*
Github Repository and Issue Tracker
Trac for Clozure CL
OpenMCL-Devel mailing list
Clozure CL in Apple's Mac App Store
Common Lisp implementations
Common Lisp (programming language) software
Cross-platform free software
Cross-platform software
Free compilers and interpreters
Software using the Apache license
Software using the LGPL license
{{compu-prog-stub