S M L / N J
1 1 0 . 4 6 N E W S
June 17, 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.46/
Summary:
This release fixes some bugs, moves the Basis implementation closer
to conformance with the specification (i.e., the upcoming Basis Library
book by Gansner and Reppy), and enhances some of the functionality by
incorporating contributions from our users.
Details:
Basis:
- interface to structure Timer now matches spec
- interface to structure Unix now matches spec
(Caveat: There probably still is a problem with the spec -
concerning the behavior of reap as well as
{text,bin}{In,Out}streamOf
when they get called multiple times. However, fixing this will
in all likelihood not change any types.)
- signature PACK_REAL added
- functor PrimIO exported
- added Posix.IO.mk{Bin,Text}{Reader,Writer}
by lifting their respective implementations from internal modules
PosixBinPrimIO and PosixTextPrimIO
- exceptions Option and Option.Option are now
identical (as they should be)
- bug in IntInf.fmt fixed
Compilation Manager:
- CM now ignores (but still syntactically accepts) the "owner"
information in group descriptions. It continues to enforce the
"single owner rule" for groups within each run of CM.make, but
can no longer do so across multiple runs. (Fortunately, there is
no fundamental problem with this.) The advantage of the new
scheme is that the programmer no longer needs to provide this
awkward piece of information.
- fixed IEEEReal.scan (and .fromString) so that if there is an
overflow in the exponent calculation we get INF or ZERO
(depending on the mantissa and the sign of the exponent)
Windows port:
- incorporated a voluminous patch kindly provided by David Hansel
from Reactive Systems, implementing previously missing support
for many socket-related functions
Command-line tools:
- arranged for ml-build to clean up after itself a little bit better
(The script generates a temporary SML source file and
compiles it using CM, so CM generates metadata (GUID, SKEL,
objectfile) for it. It now gets rid of those at the end, so they
don't accumulate under .cm.)
- ml-build now terminates with a non-0 status when something goes wrong
Installer:
- bugs fixed
- src-smlnj now recognized as a valid target (in config/targets) again
(The meaning of this has changed from "all sources required for the
compiler" to "all sources the installer knows about".)
NLFFI:
- support for NetBSD added (thanks to Vesa A. Norrman)
- ml-nlffi-lib made to run on cygwin
Compiler internals:
- as per request by Adam Chlipala, extended
various export lists in compiler-related .cm-files