wiki:WikiStart

Version 45 (modified by rtoy, 3 years ago) (diff)

Fix markup.

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 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

Snapshot 2012-04
The 2012-04 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • Added a new contrib, contrib-packed-sse2 to allow packed operations ala SSE2. Support for some packed sse2 operations like multiple, divide, and shuffle for both packed singles and doubles. All operations are done on top of (complex double-float) numbers.
  • Some VOP costs were incorrect which prevente the fast complex double-float multiplier from being used when sse3 is available.
  • Add micro-optimization for x86 (already available on sparc and ppc) where (logand <signed-byte 32> #xffffffff) generates a register move instead of and'ing with #xffffffff.
Snapshot 2012-03
The 2012-03 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • Updated to Unicode 6.1.0.
  • LISP:UNICODE-COMPLETE no longer signals an error if the prefix isn't a prefix of the name of any Unicode character.
  • Add -R option to build.sh to force recompiling the C runtime.
Snapshot 2012-02
The 2012-02 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • UTF-8 is now build into the core and always available.
  • A bug in UNICODE-COMPLETE-NAME has been fixed. (Mostly useful with Slime when completing character names.)
  • An issue with blocked signals after an interrupt has been fixed.
  • The ppc port has been revived; only a Unicode version is currently available.
Snapshot 2012-01
The 2012-01 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • CMUCL was not printing pathnames like (make-pathname :directory '(:absolute "tmp" "" "/")) correctly. This is now printed using #P(...).
Snapshot 2011-12
The 2011-12 snapshot has been released. See the release notes for details, but here is a quick summary of the changes between the this snapshot and the previous snapshot.
  • The directory structure has been changed.
  • ASDF2 updated to version 2.019.
  • Behavior of STRING-TO-OCTETS has changed. This is an incompatible change from the previous version but should be more useful when a buffer is given which is not large enough to hold all the octets for the given string. See docstring for more details.
  • DECODE-FLOAT was not correctly declared and could not be compiled to handle double-double-floats.
CMUCL 20c released
CMUCL 20c has been released, For information on the changes between 20c and 20b, we refer the reader to the 20c release notes or to the 20c release notes text file.

Because of the release, there will not be a 2011-11 snapshot.

You can find some OldNews and some much older news.

Additional Information

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.

Other news can be found here. Or you can look here to find out where to download binaries such as the 20c binaries or a snapshot.

For a complete list of local wiki pages, see TitleIndex.