S M L / N J
1 1 0 . 4 4 N E W S
November 6, 2003
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.44/
Summary:
Again, there are a number of important bug fixes and updates, mostly to
the Basis library and the installer.
Details:
- Basis:
-
- fixed bugs and improved code for Real.{from,to}LargeInt
- fixed bug in Posix.ProcEnv.times
- changed inputLine
functions to return an option
- implemented native
int32->real64
conversion
- slices implemented according to spec
- Time.{from,to}NanoSeconds
added to Time
- made SOCKET API
match the spec
- OS-specific details of socket implementation moved into
separate files (this makes it possible to share the bulk of the code
between Unix and Win32)
- added signature SYNCHRONOUS_SOCKET
to Basis
- precision of real64 is 53 (not 52)
- added openVector,
nullRd, and nullWr to PRIM_IO
- installer:
-
- new installer (which is mostly written in SML) is no longer
optional (old installer has been removed)
- the ML code of the installer is now in its own library and
gets compiled by CMB.make;
the installer script simply invokes sml -m
$smlnj/installer.cm
(the ML code does not have to be compiled as
part
of the installation process)
- minor improvements and bugfixes
- sense environment variable CM_DIR_ARC that lets one
override
the default name for CM meta-data (default is .cm -- see CM section)
- sense value of INSTALLDIR
environment variable and behave
accordingly
- dont_move_libraries
directive eliminated from
config/targets
(This was a legacy mechanism which turned out to be
broken anyway.)
- Scripts:
-
- made .bat-files
Win95-compatible
- changed default @SMLalloc
parameter for x86/celeron to 64k
- CM:
-
- default name of meta-data directory changed from CM to .cm
- a different name can be chosen at installation time
- added missing wrapper for privilege primitive in
$smlnj/viscomp/core.cm
- CML:
-
- tracked Basis changes (non-blocking Socket functons are left
out since they are redundant: CML_SOCKET
is defined in terms of
SYNCHRONOUS_SOCKET)
- make use of non-blocking socket functions from Basis; CML
socket implementation is now OS-independent
- Interactive Loop:
-
- added hook to prettyprinter so it can invoke the autoloader
if a qid to be printed is not currently bound in the toplevel
environment; this eliminates many instances where the prettyprinter
used to print ? in front
of a name
- runtime
-
- works with Mac OS X 10.3 (Panther)
- MLRISC
-