CMUCL is a free, high performance implementation of the Common Lisp programming language which runs on most major Unix platforms. It mainly conforms to the ANSI Common Lisp standard. CMUCL provides a sophisticated native code compiler; a powerful foreign function interface; an implementation of CLOS; the Common Lisp Object System; which includes multimethods and a metaobject protocol; a source-level debugger and code profiler; and an Emacs-like editor implemented in Common Lisp. CMUCL is maintained by a team of volunteers collaborating over the Internet, and is mostly in the public domain.
|Tags||Software Development Compilers Debuggers Code Generators Interpreters Text Editors Emacs|
|Operating Systems||POSIX BSD FreeBSD Linux Solaris|
Release Notes: A new float type EXT:DOUBLE-DOUBLE-FLOAT is supported. A DOUBLE-DOUBLE-FLOAT uses two DOUBLE-FLOATs to represent a number with >= 106 bits of precision (about 33 digits). Hash tables now support weak value, weak key- and-value, and weak key-or-value tables. LONG-LONG and UNSIGNED-LONG-LONG are recognized types in the C-CALL package for signed and unsigned 64-bit integers. The generational garbage collector has been ported to Darwin/ PPC. Numerous bugs and ANSI-compliance problems have been fixed.
Release Notes: Cross-reference information can now be saved to a FASL file. Annotation support has been added to the pretty printer. Logical path names are supported when using LOAD-OBJECT-FILE. CMUCL recognizes multi-arch (fat) shared libs on Darwin/PPC. It's now possible to load libSystem.dylib. ASIN and ACOS return NaN when given NaN args instead of signaling an error. Many bugfixes and ANSI compliance fixes have been implemented.
Release Notes: This release features stack overflow checking, package locks, weak hash tables, modular arithmetic, helpful local function names, compiler checking of format strings and arguments, callbacks from foreign code to LISP, fwrappers-style encapsulation, enhanced disassemble, heap overflow checking, and enhanced source location recording that works for macros. C functions are visible in backtraces (instead of just “Foreign function call land”). This release also includes numerous bugfixes and ANSI compliance changes, as well as significant performance enhancements to the CLOS implementation.
Release Notes: This release adds a Karatsuba multiplier to give faster multiplication for big bignums, better support for loading foreign libraries, a cross-referencing facility for the compiler, support for generalized function names, access to the hardware cycle counters on Pentium and UltraSPARC processors, largefile support on Linux, significant improvements to the CLOS implementation, and very numerous ANSI compliance fixes and bugfixes. The new platforms now supported are OpenBSD/x86, Linux/Alpha, and IRIX/MIPS. Experimental support for native 64-bit integers is available on UltraSPARC.
Release Notes: OpenBSD/x86 is supported. There are significant performance enhancements, support for hierarchical packages, improvements to disassembly listings on x86 and SPARC, use of branch prediction on UltraSPARC, and stack clearing for improved garbage collection characteristics on SPARC. The size of the dynamic space can be controlled from the command line. This release also includes numerous ANSI compliance fixes (affecting eval-when, proclaim, defmacro, and logical pathnames), and many bugfixes. Code generated with this release is not binary compatible with the previous release.