*** ANNOUNCE: SML/NJ 110.47 AVAILABLE ***

Matthias Blume <[email protected]>
Newsgroups gmane.comp.lang.sml.smlnj
Message-ID <[email protected]>
                          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:
-------------------

   - redesigned c-calls interface
   - c-calls implementation for ppc-macosx added
   - 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:
-------

   - 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
PGP.sig (application/pgp-signature, 186 B) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.