S M L / N J
1 1 0 . 5 8 N E W S
March 3, 2006
This working version is believed to be stable, but
we have not run our full regression-test suite.
Support for Intel Macs and x86-64 under Linux, a brand-new
replacement for ml-lex, and other minor improvements as well
- Lexer generator:
- A new, much improved lexer generator tool has been developed by
Aaron Turon and John Reppy. The new tool, called lexgen, can be
used as a drop-in replacement for ml-lex.
- The compilation manager is able to have lex specification
files processed by either lexgen or the original
ml-lex. For the time being, the latter is the default.
- To change this aspect of CM's behavior, invoke sml
(and related commands such as ml-build) using the
-Ccm.use-legacy-lex=false command line switch.
Alternatively, one can define an environment variable
CM_USE_LEGACY_LEX and set it to false.
- Binaries (bootfiles) shipped with this version have been
compiled using lexgen.
- Newly supported platforms:
- SML/NJ builds and runs on Intel-based Macs running Mac OS X.
- SML/NJ builds and runs on x86-64 systems using 32-bit mode.
- SML/NJ should build and run on NetBSD 3.x (untested).
- Platforms no longer supported:
- Support for pre-2.2 Linux kernels has been dropped.
- Runtime system:
- Signal handling on x86/Linux has been cleaned up.
- Scripts for rebuilding MLRISC-generated files have been updated
to reflect changes to CM.
- Darwin-specific Intel ABI (for foreign-function interface)
implemented. The solution is temporary since it currently relies
on the fact that the compiler itself does not use the FFI.
- Compilation manager:
- Improved CM-specific error reporting and handling.
- Enabling $/html-lib.cm in config/preloads now works.
- withNack wrapped around a never event will
now properly signal the negative acknowledgement.