CMUCL is a free implementation of the Common Lisp programming language which runs on most major Unix platforms. It mainly conforms to the ANSI Common Lisp standard. Here is a summary of its main features:
- Support for static arrays that are never moved by GC but are properly removed when no longer referenced.
- Unicode support, including many of the most common external formats such as UTF-8 and support for handling Unix, DOS, and Mac end-of-line schemes.
- native double-double floats including complex double-double floats and specialized arrays for double-double floats and and complex double-double floats that give approximately 106 bits (32 digits) of precision.
- a sophisticated native-code compiler which is capable of powerful type inferences, and generates code competitive in speed with C compilers.
- generational garbage collection and multiprocessing capability on the x86 ports.
- a foreign function interface which allows interfacing with C code and system libraries, including shared libraries on most platforms, and direct access to Unix system calls.
- support for interprocess communication and remote procedure calls.
- an implementation of CLOS, the Common Lisp Object System, which includes multimethods and a metaobject protocol.
- a graphical source-level debugger using a Motif interface, and a code profiler.
- an interface to the X11 Window System (CLX), and a sophisticated graphical widget library (Garnet).
- programmer-extensible input and output streams.
- an Emacs-like editor implemented in Common Lisp.
- freely redistributable: free, with full source code (most of which is in the public domain) and no strings attached (and no warranty). Like the GNU/Linux and *BSD operating systems, CMUCL is maintained and improved by a team of volunteers collaborating over the Internet.
Latest News
For the most up-to-date info and news, see CMUCL Gitlab Wiki. For older news see News. The old Trac wiki is still available but is deprecated in favor of the Gitlab wiki.
- CMUCL 21e released
- CMUCL 21e has been released, For information on the changes between 21e and 21d, we refer the reader to the 21e release notes.
- CMUCL 21d released
- CMUCL 21d has been released, For information on the changes between 21d and 21c, we refer the reader to the 21d release notes.
- CMUCL 21c released
- CMUCL 21c has been released, For information on the changes between 21c and 21b, we refer the reader to the 21c release notes.
- CMUCL 21b released
- CMUCL 21b has been released, For information on the changes between 21b and 21a, we refer the reader to the 21b release notes.
- CMUCL 21a released
- CMUCL 21a has been released, For information on the changes between 21a and 20f, we refer the reader to the 21a release notes. Because of the release, there will not be a 2014-10 snapshot.
- CMUCL 20f released
- CMUCL 20f has been released, For information on the changes between 20f and 20e, we refer the reader to the 20f release notes. Because of the release, there will not be a 2014-10 snapshot.
- CMUCL moves to Gitlab from Trac
- common-lisp.net announced that Gitlab would replace the current Trac system. The pages from Trac are slowing being migrated to CMUCL's gitlab page.
- CMUCL 20e released
- CMUCL 20e has been released, For information on the changes between 20e and 20d, we refer the reader to the 20e release notes. Because of the release, there will not be a 2013-10 snapshot.
What is Common Lisp?
Common Lisp is well suited to large programming projects and explorative programming. The language has a dynamic semantics which distinguishes it from languages such as C and Ada. It features automatic memory management, an interactive incremental development environment, a module system, a large number of powerful data structures, a large standard library of useful functions, a sophisticated object system supporting multiple inheritance and generic functions, an exception system, user-defined types and a macro system which allows programmers to extend the language.
Pascal is for building pyramids -- imposing, breathtaking structures built by armies pushing heavy blocks into place. Lisp is for building organisms ...
Alan Perlis