[MLton] upcoming release

Stephen Weeks sweeks@sweeks.com
Mon, 1 Aug 2005 16:01:54 -0700


It has been quite a while since our last release, so I would like to
do a new one.  There aren't any huge new features, but we have
accumulated a number of bugfixes, as well as some small improvements:

 * better exception history
 * libraries: Int1, MLton.CallStack, MLton.Process.create, Word1
 * FFI improvements: support for symbols

There is also a big improvement on the licensing front, as MLton will
now be released under a BSD-ish license instead of the GPL.  That
alone is worth a new release in my opinion.

I did some work last week to try and get MLton working on all our
various platforms.  I am happy to report that it builds and passes all
tests on the following platforms.

 * Darwin 7.0.0
 * Debian testing
 * FreeBSD 5.4
 * NetBSD 2.0.2
 * OpenBSD 3.7
 * RedHat 7.1
 * Solaris 8 

There was a minor problem with the Debian package in that lintian
gives a number of "non-standard-file-perm" warnings, as well as a
couple of "control-file-has-bad-owner" errors.  If some Debian expert
wants to look into it, please send mail and do so.

There is also a minor annoyance on OpenBSD, which gives the following
linker warnings on every compile.

/usr/lib/mlton/self/libmlton.a(runtime.o)(.text+0x1bad): In function `Stdio_sprintf':
: warning: sprintf() is often misused, please use snprintf()
/usr/lib/libgmp.so.6.3: warning: vsprintf() is often misused, please use vsnprintf()

If there were just the warning due to our use of sprintf, I'd be
inclined to switch to snprintf to make them stop whining, but as we
can't easily eliminate the libgmp warning, I'm not so motivated.

Two platforms that I'd like to see in the release are not yet working.

 * Cygwin 1.5.18-1
 * MinGW

I didn't try out MinGW, but I'd be happy for someone to give it a
try.  As I recall, we're still in the state where there is some
strangeness in saving the world due to 

I tried building on Cygwin, but it dies with a quite scary
"VirtualFree release failed".  I haven't had time to investigate.
Note that this problem is different than the "call to system failed"
that Jens and Matthew saw, which I suspect was due to shared library
issues, and should go away when I build on the newer Cygwin.

I certainly plan to fix the Cygwin problem, as I feel we must continue
to support Cygwin.  As to MinGW, I doubt I will get to it, but I
encourage anyone who wants to see MLton support MinGW in this release
to investigate.  I think we're close.

The biggest open question in my mind for the release is what to do
about documentation.  This will be our first release post wiki.  It
probably makes sense to include a snapshot of (some fragment of) the
web site to include with each package in html format.  I would like
input on the following:

 * should we have other formats besides HTML?  If so, what, and how
   should we obtain it?
 * should we include the whole website or a fragment?  What fragment?

Before releasing, we also need to make serious effort to catch up the
wiki documentation with the HEAD revision.

Hopefully this mail will get us started down the path toward a
release, and we can do it in sometime this month.  Please send mail to
the list about any issues (bugs, features, documentation, ...) that
affect the release.  Thanks.