[MLton] MLton's adherence to the Definition of SML

Henry Cejtin henry@sourcelight.com
Tue, 3 Aug 2004 11:28:32 -0500


I  think  that one point that would be useful (in cases where it can be done)
would be to have a method to convert from MLton with extensions to absolutely
straight  SML.   In  this way you can think of the extensions as a mere input
convenience.  I know that I have mentioned this before, but I think  that  it
is a useful thing for stuff like the .mlb files (where it is both more needed
and more do-able).  From the point of view of a company, it  means  that  you
can  use MLton knowing that you can still use any SML back end, possibly just
using the translation program once (which removes the extensions).

Although I really dislike most of the SML/NJ language extensions,  and  agree
that  the threshold must be very high for adding such things, not having them
does mean that people who have SML/NJ code (admittedly  a  small  population)
can't just try it under MLton and be amazed at the speed improvement.

When I was working on Scheme-48, it was a real pain because they deliberately
made it so that char->integer and integer->char did NOT use ASCII codes,  but
added  some  large  offset.   This  definitely  had  the  effect that porting
Scheme-48 code to other implementations was very easy,  but  made  going  the
other  way  a  big pain.  Not the best way to arrange things if you want more
people to use it.

Any way, none of this is a convincing argument for having more extensions  to
me.

I  think  that  the  note from Stephen is a useful thing to have in the MLton
docs.