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