OpenMCL is an Open Source version of Digitool's excellent Macintosh Common Lisp (MCL) implementation, which runs on LinuxPPC and MacOS X. It features a native code compiler, multithreading support, and good ANSI CL compliance.
|Tags||Software Development Assemblers Code Generators Compilers Disassemblers Interpreters|
|Operating Systems||POSIX Linux Mac OS X|
Release Notes: Under Darwin, the Lisp kernel now tries to reserve a little less than 2GB for heap expansion (the previous limit was 1GB). A new reader macro (#?) was provided to simplify access to foreign variables. A number of bugfixes were made: the generic function COMPUTE-CLASS-PRECEDENCE-LIST is now defined, foreign threads now establish thread-specific special variable bindings correctly, Lisp slots on ObjC objects now have their INITFORMs processed correctly, and ACOS and ASIN accept arguments of type COMPLEX. FASL files will have to be recompiled.
Release Notes: POSIX threads are used instead of "green threads". A large subset of the Common Lisp metaobject protocol has been implemented, and is used by the Objective-C interface. A Cocoa bridge which facilitates interfacing with the Cocoa API has been contributed, and the Cocoa examples have been rewritten to use it. Several hundred ANSI compliance bugs identified by Paul Dietz's test suite have been fixed. A number of opensource libraries such as ASDF and ASDF-INSTALL are bundled with the release.
Release Notes: The protocol for integrating Gray streams with READ-SEQUENCE and WRITE-SEQUENCE has changed. A number of bugs have been fixed: printing bignums when *PRINT-BASE* was set to 36 would fail; CONSTANTP now takes and uses an optional "env" argument, as per the ANSI CL standard; OpenMCL is now compatible with some LinuxPPC ABI changes introduced in glibc 2.3.2 (the "foreign" value of the r2 register is maintained). Heap images that are loaded at a different address from that from which they were saved now relocate themselves properly.
Release Notes: The FASL loader code has been reworked in order to allow loading code from different sources. There have been a number of bugfixes: (setf documentation) no longer causes a hang, TYPEP and SUBTYPEP now accept (and currently ignore) optional environment arguments, and T or OTHERWISE clauses in TYPECASE forms (and variants) now correctly return NIL when no consequent is present. The compiler will now issue a warning if a constant :ELEMENT-TYPE in a MAKE-ARRAY call denotes a type that's unknown at compile time.
Release Notes: Binaries are now built with options that enable the retention of extra debugging information (docstrings and information on local symbols). Symbols related to "Gray stream" functionality are exported from a new "GRAY" package. Almost 300 bugs detected by the GCL ANSI test suite have been fixed. Fixes were made to the type system, the LOOP module, to sequence and list functions, to DEFSTRUCT, and to keyword handling in lambda lists. More specific errors are signaled in certain situations as mandated by the ANSI specification, and package exports have been cleaned up.