SML/NJ 110.44 NEWS

    			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
  - minor bug fixes