Welcome to the CMUCL Trac
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 on all supported architectures.
- 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 ( Gray streams and simple-streams).
- an Emacs-like editor, Hemlock, 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.
- Snapshot 2014-03
- The 2014-03 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.
- RUN-PROGRAM accepts :ELEMENT-TYPE to specify the element type for the streams that are created.
- Lisp-unit (a Lisp framework for testing) has been added as a contrib. Use (require :lisp-unit) to compile and load it. Unlike asdf and defsystem, precompild fasls are not included.
- Type derivation for log was not consistent with the values actually returned by log. This is corrected now.
- Double-double floats were missing the constants describing various limits such as LEAST-POSITIVE-DOUBLE-DOUBLE-FLOAT. These are added now.
- When reading very small floats values, the reader will round to least-positive float if possible. Otherwise an error is still signaled.
- Snapshot 2014-02
- The 2014-02 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.
- Micro-optimizations in arithmetic vops for x86/sse2, reducing the number of memory loads in some cases.
- Run-time checks for zero pages are now disabled; the lazy zeroing of heap pages has been the default for some time without problems, so the run-time check is disabled.
- A serious error in the complex multiply vop on sparc has been fixed.
- Snapshot 2014-01
- The 2014-01 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.
- The trig functions sin, cos, and tan are faster now and more accurate.
- A bug in CIS introduced in the 2013-12 snapshot has been fixed.
- DISASSEMBLE:DISASSEMBLE-FUNCTION, DISASSEMBLE:DISASSEMBLE-MEMORY, and DISASSEMBLE:DISASSEMBLE-CODE-COMPONENT accept the :BASE, :CASE, and :RADIX keyword arguments, like DISASSEMBLE:DISASSEMBLE does.
- Improved speed for some SSE2 VOPS.
- Values on the branch cuts for the inverse trig and hyperbolic functions match the definitions. If there is a difference between the CLHS and formulas, we choose the formula.
- Updated support for Mac OSX 10.5 and gcc 4.8 on ppc.
Due to the bug in CIS introduced in the 2013-12 snapshot, the 2013-12 snapshot is deprecated.
- Snapshot 2013-12
- The 2013-12 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.
- The compile can derive the result types of DECODE-FLOAT.
- CIS uses the faster C library routine sincos when available.
- create-target.sh accepts -h and -? options to print out some help.
- Snapshot 2013-11
- The 2013-11 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between this snapshot and the previous snapshot.
- ASDF 3.0.3.
- Optimizations for x86 (ported from sparc and ppc).
- Numbers will be printed with lower case letters when :PRINT-CASE is :DOWNCASE.
- 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.
The official web presence is at www.cmucl.org with mirrors at www.cons.org/cmucl and at common-lisp.net/project/cmucl/mirror. There may be some duplication between the wiki and the web pages; the wiki tends to be more up-to-date.
- CMUCL FAQ?
For a complete list of local wiki pages, see TitleIndex.