The latest beta version of ManKai Common Lisp, MKCL 1.1.0 RC1,
is now available for general use at
http://common-lisp.net/project/mkcl/.
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:
a) 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.
b) 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.
c) 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