wiki:WikiStart
close Warning: Can't synchronize with repository "(default)" ("(default)" is not readable or not a Git repository.). Look in the Trac log for more information.

Version 58 (modified by Raymond Toy, 12 years ago) (diff)

--

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-10
The 2012-10 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.
  • READ-CYCLE-COUNTER no longer destroys any live values in the EDX or ECX registers.
  • Add VM::WITH-CYCLE-COUNTER to return the number of ticks elapsed when executing the body. The number of ticks is the number of CPU cycles, except for ppc/darwin.
Snapshot 2012-09
The 2012-09 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.
  • ASDF2 updated to version 2.24
  • Add microptimization of 2*x and x/(2n) when x is a float and n is an integer.
  • Fixed a minor build issue in the CLM debugger.
Snapshot 2012-08
The 2012-08 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.
  • ASDF2 updated to version 2.23.
  • CMUCL can now be compiled correctly with clang.
  • Fixed a possible stack corruption bug on x86 when calling from C into lisp.
  • Support for Mac OSX 10.4 and earlier has been dropped. (Lack of developer access to such machines.)
Snapshot 2012-07
The 2012-07 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.
  • ASDF2 updated to version 2.22.
  • Minor internal changes to support building with clang, which doesn't yet work as expected.
Snapshot 2012-06
The 2012-06 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.
  • Implement faster LOGCOUNT function on x86, if :SSE3 feature is available. (Only applies to new uses of LOGCOUNT. The core uses the default version.)
  • On x86, SET-FLOATING-POINT-MODES clears any current and accrued exceptions that match exceptions in :TRAPS. Previously, enabling a trap when the current exception also listed that trap caused the exception to be immediately signaled. This no longer happens and now matches how ppc and sparc behave.
Snapshot 2012-05
The 2012-05 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.
  • ASDF2 updated to version 2.21.
  • Many additional aliases for external formats added that match the glibc iconv aliases.
  • External format for UTF-32 was generating an error when converting octets to a string.
  • The UTF-16-BE and UTF-16-LE external formats were returning the incorrect number of octets when surrogates pairs were decoded. This confuses the stream buffering code.
  • Fix typo in ISO8859-2 external format that caused it not to work correctly. This type potentially also caused failures for all other external formats that were based on ISO8859-2.
  • Fix ticket:58: UTF-16 buffering problem.
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 multiply, divide, and shuffle for both packed singles and doubles. All operations are done on top of (complex double-float) numbers. Functions are provided to put and get packed singles/doubles from (complex double-float).
  • Some VOP costs were incorrect which prevented 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 OldNewsPost20c, OldNewsPost20b 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.