[MLton-devel] MLton report and survey

Stephen Weeks MLton@mlton.org
Wed, 8 Jan 2003 06:03:25 -0800


I've checked in (but did not upload) all the web page changes.  Here's
the latest report.  I'll send it out later today.

Matthew, did you submit a survey?  I didn't get one.  Henry, I got
yours.

--------------------------------------------------------------------------------

I thought it would be nice to start the new year with a report on the
MLton optimizing Standard ML compiler: our history, progress in 2002,
and plans for the future.  If you have any questions about MLton, you
can check our web page at www.mlton.org, contact the development team
at MLton@mlton.org, or reach the MLton user community at
MLton-user@mlton.org.

MLton started in July 1997 as a defunctorizer for Standard ML.  From
there, MLton morphed into a full-fledged compiler for SML and was
first released in March 1999.  From the start, MLton has been driven
by whole-program optimization and an emphasis on performance.  Also
from the start, MLton has had a fast C FFI and IntInf based on the GNU
multiprecision library.  At its first release, MLton was 48,006 lines.

Between the March 1999 and January 2002, MLton grew to 102,541 lines,
as we added a native code generator, mllex, mlyacc, a profiler, many
optimizations, and many libraries including threads and signal
handling.  During 2002, we had releases in April and September and
MLton grew to 112,204 lines, as we added support for cross compilation
and used this to enable MLton to run on Cygwin/Windows and FreeBSD.
We also made improvements to the garbage collector, so that it now
works with large arrays and up to 4G of memory and so that it
automatically uses copying, mark-compact, or generational collection
depending on heap usage and RAM size.  We also continued improvements
to the optimizer and libraries.

We anticipate the next release of MLton will be in February 2003.
This release will include source-level profiling for both time and
allocation and the ability to display the call-graph of the source
program.  It will also include a basis library matching the 2002
specification and the Net* and Socket modules.  Beyond that release,
we are considering many improvements, including:

        * a proper front-end
        * ports to new OSes (MinGW, Windows, ...) 
        * ports to new architectures (x86-64, Itanium, ...)
        * a space profiler
        * additional integer or real types (Int64, Real32, Real80)
        * support for calling SML from C
        * improvements to the C code generator
        * a source-level debugger
        * a port of CML
	* support for NLFFI
	* interfaces to libraries (Gtk, OpenGL, ...)
        * documentation of compiler internals 
        * additional optimizations
                - variant-tag elimination
                - bounds-check elimination
                - double alignment
                - array flattening

We would like to hear both from those of you who already use MLton and
those of you who might like to use MLton in the future, but haven't
yet done so for some reason.  To that end, we have created a short
survey at

        http://www.mlton.org/200301-survey.html

The survey will help us to understand the improvements to MLton that
would be most useful to our users and to set priorities for 2003.
Thank you very much for filling it out.

Happy SML programming in 2003.
	
-- The MLton Team


-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
MLton-devel mailing list
MLton-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mlton-devel