MLton is a whole-program optimizing Standard ML compiler. MLton project generates standalone executables with excellent runtime performance, supports the full SML 97 language, and has a complete basis library.
It also has a fast C FFI, source-level time and allocation profiling, and many useful libraries.
Supports the full SML 97 language as given in The Definition of Standard ML (Revised).
- If there is a program that is valid according to The Definition that is rejected by MLton, or a program that is invalid according to the Definition that is accepted by MLton, it is a bug. For a list of known bugs, see UnresolvedBugs.
A complete implementation of the Basis Library.
- MLton's implementation matches latest Basis Library specification, and includes a complete implementation of all the required modules, as well as many of the optional modules.
Generates standalone executables.
- No additional code or libraries are necessary in order to run an executable, except for the standard shared libraries. MLton can also generate statically linked executables.
Compiles large programs.
- MLton is sufficiently efficient and robust that it can compile large programs, including itself (over 140K lines). The distributed version of MLton was compiled by MLton.
Support for large amounts of memory (up to 4G).
Array lengths up to 231 - 1, the largest possible twos-complement 32 bit integer.
Support for large files, using 64-bit file positions.
What's New in This Release:
· MLton is now released under the BSD license, not the GPL.
· There is substantially improved documentation based on the MLton wiki. x86/MinGW and HPPA/Linux are supported.
· There are improvements to the FFI, ML Basis annotations, and new libraries: the ckit and SML/NJ library.