S  M  L   /   N  J
                   1  1  0  .  4  7      N  E  W  S
			
                             August 4, 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.47/
 
Summary:
The most important and noticable changes in 110.47 concern preliminary
implementations of the NLFFI foreign-function interface under Mac OS X
(PowerPC) and Win32 (x86).  There are also a number of important bug
fixes.
Details:
  - NLFFI:
 
  - 
    
      - preliminary support for Mac OS X added
 
      - preliminary support for Win32 added
      (untested;
      currently can only interface with C functions using the stdcall
      calling conventions)
 
      - function arguments that are C unions are now handled
 
      - various minor bug fixes to ml-nlffigen
 
      - preliminary documentation for nlffi and ml-nlffigen
      (currently only describes the output of ml-nlffigen;
      see src/ml-nlffi-lib/Doc/manual/nlffi.tex)
 
    
   
  - Compilation Manager:
 
  - 
    
      - made make commend in CM's make tool
      configurable
 
      - added option (default: on) for passing the name of
      the SML/NJ's bin directory to make;
      This can be used by the Makefile to, e.g., pick the "right" version
      of ml-nlffigen.
 
    
   
  - Basis:
 
  - 
    
      - Changed the implementation of structure Unix so that the
      same stream is returned every time one of the
      {text,bin}{In,Out}streamOf functions is invoked on the
      same proc. (NOTE: This is not what the spec says, so it will
      probably change again.  Don't rely on it!)
 
    
   
  - Windows port:
 
  - 
    
      - bug fixes:
      
	- NULL test in gmtime and localtime
 
	- toSeconds -> toMilliseconds in
	win32-process.sml (Basis implementation)
 
      
     
   
  - Installer:
 
  - 
    
      - eliminated some shell syntax not understood by
      /bin/sh under Solaris
  
    
   
  - Compiler internals:
 
  - 
    
      - low-level support for choosing C calling conventions by
      twiddling the type of of the rawccall primop  (see
      src/compiler/Semant/types/cproto.sml for details)
 - 
      
 - use paramAlloc to report c-calls with too many
      arguments (for PPC version where parameter area is
      pre-allocated)
 
      - added ccall_maxargspace to machspec (to implement
      the above)
 
    
   
  - MLRISC:
 
  - 
    
      - redesigned c-calls interface
 
      - c-calls implementation for ppc-macosx added
 
      - Added these instructions to the PowerPC architecture:
      LWARX, STWCX, LBZU(X),
      LHZU(X), LWZU(X), STWU(X),
      STFDU, STFSU, etc.
      (Instruction encodings not added yet, though.)
 
      - loop-structure.sml has been rewritten