Jump to content

Clozure CL

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Sshenoy (talk | contribs) at 10:34, 22 November 2009 (Mention easy interfacing to Cocoa). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Clozure CL
Developer(s)Clozure Associates
Stable release
1.4[1] / 29 october 2009
Operating systemLinux, Solaris, FreeBSD, Mac OS X, Microsoft Windows
PlatformCross-platform
Available inCommon Lisp
TypeIDE, Compiler and runtime
Websiteclozure.com

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 (a Common Lisp development environment for GNU Emacs). Clozure CL is open source and the project is hosted by Clozure Associates.

Supported Platforms

Clozure CL supports the Mac OS X, Linux, FreeBSD, Solaris and Microsoft Windows platforms. There are 32 and 64 bit x86 variants for each. Additionally, there are PowerPC ports for Mac OS X and Linux.

Applications

Clozure CL is used by ITA Software for the business logic of a new Airline Reservation System for Air Canada[2].

History

Formerly known as OpenMCL, Clozure CL is an evolution of Macintosh Common Lisp.

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 [3] is underway to improve this.

References