The latest beta version of ManKai Common Lisp, MKCL 1.1.0 RC1, is now available for general use.
Its key new features are:
1. Standard Unicode support: Unicode is now a standard feature of MKCL and can be used anywhere in it. Code can use symbols with Unicode names as well as strings, in compiled or interpreted format. File names can also use any legal Unicode character if the surrounding OS allows it. This is also valid for the whole of file paths used for source code to be processed by #'compile-file. 2. MKCL is now truly embeddable for the first time! This is so thanks to the following new characteristics: 1. The whole of MKCL has been purged of calls to exit() or abort(). Thus MKCL never arbitrarily terminates the process it runs in through any of them. MKCL will always properly return control to its embedding outer context. 2. Every externally visible C symbol of MKCL is prefixed by one of the character sequences "mk", "_mk", "MK" or "_MK" in order to minimize potential clashes with embedding C code. 3. Careful attention as been devoted to assure that MKCL shares common process-wide resources with the rest of its process neighbors as fairly as possible and with little or no unilateral demands on them, waiving any pretense of monopoly. This concerns mainly environment variables, general memory management (including GC) and signal/exception handling. (In a Unix context, MKCL's code is ready to support chaining of signal handlers). 3. Finalization of objects is now done in a separate dedicated thread. This implements the finalization architecture strongly recommended by Hans Boehm, author of the conservative GC used by MKCL.
Cheers,
Jean-Claude Beaudoin