This is an archived public release of MLton, version 20200817.
Changes since MLton 20200722
- 
Compiler.
- 
Fixed bug in
RssaShrinkoptimization that would result in an unbound variable and an internal compiler error. 
 - 
 - 
Other.
- 
Fixes for Solaris and MinGW platforms.
 
 - 
 
For a complete list of changes and bug fixes since
Release20180207, see the
CHANGELOG.adoc and
Bugs20180207.
Changes since MLton 20180207
- 
Compiler.
- 
Added expert
-pi-style {default|npi|pic|pie}and-native-pic {false|true}options, which can be used to override a target-determined default. - 
Fix a number of instances of excessive live data during compilation.
 - 
Disable
ZoneSSA optimization pass by default; theZonepass is known to not be safe-for-space. - 
Statically allocate and initialize some global objects.
 - 
Many updates and improvements to C and LLVM codegens.
 - 
Add new
BounceVarsRSSA optimization pass to split the live ranges of RSSA variables. - 
Improve
RssaShrinkoptimization. - 
Add support for alternate globalization strategies in
ConstantPropagation. - 
Strengthen
Uselessoptimization with respect to a number of primitives. - 
Add new
DuplicateGlobalsandSplitTypesSSA optimization passes. - 
Introduce new
Overflow-checking primitives and remove oldOverflow-checking primitives and special-case code required (e.g.,Arithtransfers in IRs) to support them. - 
Add parsers for XML, SXML, SSA, and SSA2 IRs.
 
 - 
 - 
Runtime.
- 
Detect and report incompatible use of ASLR/PIE on
load-world. - 
Added support for RISC-V architecture.
 
 - 
 - 
Language.
 - 
Libraries.
- 
Basis Library.
- 
Change
OS.IO.pollto not be restarted when interrupted by a signal. (This is consistent withSocket.select.) - 
Add
MLton.sizeAll: unit -> IntInf.intthat returns the size of reachable live data. - 
Change type of
MLton.sizefrom'a -> intto'a -> IntInf.int, because with 64-bit systems, the size of a single object can exceed that representable by a signed 32-bit integer. 
 - 
 - 
Other libraries.
- 
Updated: ckit library, MLLPT library, MLRISC library, SML/NJ library
 
 - 
 
 - 
 - 
Tools.
 - 
Other.
- 
Updates to simplify porting MLton.
 - 
Support parallel build (i.e.,
make -j). This mainly supports platforms/packagers that use a parallelmakeby default; it does not obtain significant build speedups. - 
Various updates to
Makefile-s. SeeMakefile.configfor common and user-customizable configuration. - 
Characterize MLton-LICENSE as an instance of the Historical Permission Notice and Disclaimer (HPND) license, rather than BSD-style.
 
 - 
 
For a complete list of changes and bug fixes since
Release20180207, see the
CHANGELOG.adoc and
Bugs20180207.
20200817 binary packages
- 
AMD64 (aka "x86-64" or "x64")
- 
Darwin (.tgz) 19.6 (Mac OS X Catalina), dynamically linked against GMP in
/usr/local/lib(suitable for Homebrew install of GMP) - 
Darwin (.tgz) 19.6 (Mac OS X Catalina), statically linked against GMP (but requires GMP for generated executables)
 - 
Darwin (.tgz) 17.7 (Mac OS X High Sierra), dynamically linked against GMP in
/usr/local/lib(suitable for Homebrew install of GMP) - 
Darwin (.tgz) 17.7 (Mac OS X High Sierra), statically linked against GMP (but requires GMP for generated executables)
 - 
Linux (.tgz), glibc 2.27 (Ubuntu 18.04)
 - 
MinGW (.tgz), gcc 10.1.0, statically linked against GMP; contributed by Bernard Berthomieu; see http://projects.laas.fr/tina/software.php for details and installation instructions
 - 
MinGW (.tgz), gcc 10.1.0, dynamically linked against GMP; contributed by Bernard Berthomieu; see http://projects.laas.fr/tina/software.php for details and installation instructions
 - 
Solaris (.tgz) 11.4, dynamically linked against GMP; contributed by Bernard Berthomieu
 
 - 
 - 
x86
- 
MinGW (.tgz), gcc 10.1.0, statically linked against GMP; contributed by Bernard Berthomieu; see http://projects.laas.fr/tina/software.php for details and installation instructions
 - 
MinGW (.tgz), gcc 10.1.0, dynamically linked against GMP; contributed by Bernard Berthomieu; see http://projects.laas.fr/tina/software.php for details and installation instructions
 - 
Solaris (.tgz) 11.4, dynamically linked against GMP; contributed by Bernard Berthomieu
 
 - 
 
Binary packages available at other sites
- 
TINA toolbox: Includes binary releases for: amd64-darwin Mac OS X Sierra (both statically and dynamically linked against GMP), amd64-linux Ubuntu 14 (both statically and dynamically linked against GMP), amd64-mingw and x86-mingw MSys2 (both statically and dynamically linked against GMP), amd64-solaris and x86-solaris Solaris 11.4 (both statically and dynamically linked against GMP), and x86-linux Ubuntu 16 (both statically and dynamically linked against GMP).
 
20200817 source packages
Also see
- 
A snapshot of the MLton website at the time of release.