                             S  M  L   /   N  J

                       1  1  0  .  5  0      N  E  W  S

                               October 28, 2004

                                    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.50/

## Summary:

This release fixes important bugs and provides some additional functionality.

## Details:

Basis:
  - Added specialized implementation of Int31.fromString.
MLRISC:
  - Fixed bugs in `x86/c-calls` related to passing structs as arguments or results.
  - Fixed bug in x86 assembly syntax (`FU?COMIP?`).
Libraries:
  - Minor enhancements to interfaces exported from the `controls` library.
  - Added libraries `$smlnj-tdp/plugins.cm`, `$smlnj-tdp/back-trace.cm`, and `$smlnj-tdp/coverage.cm`. This moves back-trace support out of the main compiler and into a library of trace/debug/profile plugins.
  - The test-coverage plugin is new.
Command-line:
  - Added flags `-e` and `-E` which print the names of environment variables that can be used to control internal settings.
  - Added support for tracing, debugging, and profiling (using stuff from `$smlnj-tdp/plugins.cm`) for stand-alone programs. (Stand-alone programs are those constructed using ml-build.)
Runtime:
  - Applied patch for setting rounding modes under Mac OS X.
Compiler:
  - PPC backend now silent (by default) even when it uses the "long form of branch"
  - Made the former backtrace-instrumentation pass more generic.
  - Some internal cleanup (consolidation of duplicated functionality).
Compilation Manager:
  - Direct support for lazy sml (keyword `lazy`) via new toolclass `lazysml` and filename suffix `.lml`.
  - Support for selectively setting arbitrary control flags on a per-sourcefile basis.
  - Fixed handling of CM keywords, thereby eliminating a bug with the shell tool.
  - CM now issues an obsolete feature warning when group files use the old owner syntax.
Bootstrap compiler:
  - Adde a version tool and some CM magic to have the file `version.sml` be auto-generated during `CMB.make`.
  - Moved version.sml (and above-mentioned magic) into its own library.