what is MLton?

Stephen Weeks sweeks@intertrust.com
Wed, 19 Jul 2000 11:43:54 -0700 (PDT)


> I am curious to know how MLton originated, i.e. what other compiler (if any)
> it is based on.  I couldn't find the answer in your manual.

MLton is not based on any other compiler, other than the stuff
mentioned in the credits section.  MLton originated as a tool to
improve the performance of programs under SML/NJ and as a way to
explore higher-order control flow analysis.  Initially, I wrote a
defunctorizer, which took SML programs as input and produced core SML
programs as output by applying all functors at compile time.  This led
to some significant performance improvements under SML/NJ.  Next,
based on a suggestion from Henry, I wrote the monomorphiser, which
took polymorphic core SML code and produced monomorphic core SML code.
Again, this was used as a source-to-source translation that was fed
back into SML/NJ, and showed some significant performance
improvements.