                             S  M  L   /   N  J

                       1  1  0  .  5  3      N  E  W  S

                              Februar 25, 2005

                                    WARNING

            This working version is believed to be stable, but
            we have not run our full regression-test suite.

HOME:
  http://www.smlnj.org/index.html
FILES:
  http://smlnj.cs.uchicago.edu/dist/working/110.53/

## Summary:

Bugfixes and minor feature improvements.

## Details:

Basis:
  - `SMLofNJ.Susp` is back.
CML
  - Thread-safe version of `structure Atom` matches original signature and re-uses the original implementation. Moreover, since an mvar is used as a lock (instead of a separate server thread) to protect the global hashtable, it is now possible to create atoms even before `RunCML.doit` has started executing.
Library
  - Moved source tree from `smlnj-lib/TraceDebugProf` to a new `tools/TraceDebugProf`.
NLFFI
  - Handles access to signed and unsigned `long long` data.
  - Handles `long long` function arguments and results (but so far only on the PowerPC).
  - Some organizational cleanup of the library code.
ML-Yacc
  - Fixed formatting bug that sometimes caused syntactically incorrect code from being formed.
Runtime
  - Fixed bug in PC-sampling profiler.
  - Fixed off-by-1 bug in `ML_STRING` macro (which caused the names of certain exceptions to be garbled).
Scripts
  - Added an experimental `heap2exec` script (with a helper `heap2asm` script in the background). This is experimental and so far only works under Mac OS X.
  - Made `ml-build` script slightly smarter. (One can now omit the 3rd argument -- which in this case is taken to be the same as the 1st argument without the extension.
  - `_run-sml` now converts SMLNJ_HOME to a POSIX pathname on cygwin.
CM
  Fixed its incorrect assumption about the PowerPC being little-endian. (PPC couldn be little-endian, but on the only supported platform -- Mac OS X -- it is big-endian.)
MLRISC
  - Bugfixes in `c-calls` implementation.