<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="generator" content="AsciiDoc 8.6.10">
<title>Release20200817</title>
<link rel="stylesheet" href="./asciidoc.css" type="text/css">
<link rel="stylesheet" href="./pygments.css" type="text/css">


<script type="text/javascript" src="./asciidoc.js"></script>
<script type="text/javascript">
/*<![CDATA[*/
asciidoc.install();
/*]]>*/
</script>
<link rel="stylesheet" href="./mlton.css" type="text/css">
</head>
<body class="article">
<div id="banner">
<div id="banner-home">
<a href="./Home">MLton 20201002</a>
</div>
</div>
<div id="header">
<h1>Release20200817</h1>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph"><p>Here you can download the latest public release of MLton, version 20200817.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_changes_since_a_href_release20200722_mlton_20200722_a">Changes since <a href="Release20200722">MLton 20200722</a></h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
Compiler.
</p>
<div class="ulist"><ul>
<li>
<p>
Fixed bug in <span class="monospaced">RssaShrink</span> optimization that would result in an unbound
  variable and an internal compiler error.
</p>
</li>
</ul></div>
</li>
<li>
<p>
Other.
</p>
<div class="ulist"><ul>
<li>
<p>
Fixes for Solaris and MinGW platforms.
</p>
</li>
</ul></div>
</li>
</ul></div>
<div class="paragraph"><p>For a complete list of changes and bug fixes since
<a href="Release20180207">Release20180207</a>, see the
<a href="https://github.com/MLton/mlton/blob/on-20200817-release/CHANGELOG.adoc"><span class="monospaced">CHANGELOG.adoc</span></a> and
<a href="Bugs20180207">Bugs20180207</a>.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_changes_since_a_href_release20180207_mlton_20180207_a">Changes since <a href="Release20180207">MLton 20180207</a></h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
Compiler.
</p>
<div class="ulist"><ul>
<li>
<p>
Added expert <span class="monospaced">-pi-style {default|npi|pic|pie}</span> and
  <span class="monospaced">-native-pic {false|true}</span> options, which can be used to override a
  target-determined default.
</p>
</li>
<li>
<p>
Fix a number of instances of excessive live data during
  compilation.
</p>
</li>
<li>
<p>
Disable <span class="monospaced">Zone</span> SSA optimization pass by default; the <span class="monospaced">Zone</span> pass
  is known to not be safe-for-space.
</p>
</li>
<li>
<p>
Statically allocate and initialize some global objects.
</p>
</li>
<li>
<p>
Many updates and improvements to C and LLVM codegens.
</p>
</li>
<li>
<p>
Add new <span class="monospaced">BounceVars</span> RSSA optimization pass to split the live
  ranges of RSSA variables.
</p>
</li>
<li>
<p>
Improve <span class="monospaced">RssaShrink</span> optimization.
</p>
</li>
<li>
<p>
Add support for alternate globalization strategies in
  <span class="monospaced">ConstantPropagation</span>.
</p>
</li>
<li>
<p>
Strengthen <span class="monospaced">Useless</span> optimization with respect to a number of
  primitives.
</p>
</li>
<li>
<p>
Add new <span class="monospaced">DuplicateGlobals</span> and <span class="monospaced">SplitTypes</span> SSA optimization
  passes.
</p>
</li>
<li>
<p>
Introduce new <span class="monospaced">Overflow</span>-checking primitives and remove old
  <span class="monospaced">Overflow</span>-checking primitives and special-case code required (e.g.,
  <span class="monospaced">Arith</span> transfers in IRs) to support them.
</p>
</li>
<li>
<p>
Add parsers for XML, SXML, SSA, and SSA2 IRs.
</p>
</li>
</ul></div>
</li>
<li>
<p>
Runtime.
</p>
<div class="ulist"><ul>
<li>
<p>
Detect and report incompatible use of ASLR/PIE on <span class="monospaced">load-world</span>.
</p>
</li>
<li>
<p>
Added support for RISC-V architecture.
</p>
</li>
</ul></div>
</li>
<li>
<p>
Language.
</p>
</li>
<li>
<p>
Libraries.
</p>
<div class="ulist"><ul>
<li>
<p>
Basis Library.
</p>
<div class="ulist"><ul>
<li>
<p>
Change <span class="monospaced">OS.IO.poll</span> to not be restarted when interrupted by a
    signal.  (This is consistent with <span class="monospaced">Socket.select</span>.)
</p>
</li>
<li>
<p>
Add <span class="monospaced">MLton.sizeAll: unit -&gt; IntInf.int</span> that returns the size
    of reachable live data.
</p>
</li>
<li>
<p>
Change type of <span class="monospaced">MLton.size</span> from <span class="monospaced">'a -&gt; int</span> to
    <span class="monospaced">'a -&gt; IntInf.int</span>, because with 64-bit systems, the size of a
    single object can exceed that representable by a signed 32-bit
    integer.
</p>
</li>
</ul></div>
</li>
<li>
<p>
Other libraries.
</p>
<div class="ulist"><ul>
<li>
<p>
Updated: ckit library, MLLPT library, MLRISC library, SML/NJ library
</p>
</li>
</ul></div>
</li>
</ul></div>
</li>
<li>
<p>
Tools.
</p>
</li>
<li>
<p>
Other.
</p>
<div class="ulist"><ul>
<li>
<p>
Updates to simplify porting MLton.
</p>
</li>
<li>
<p>
Support parallel build (i.e., <span class="monospaced">make -j</span>).  This mainly supports
  platforms/packagers that use a parallel <span class="monospaced">make</span> by default; it does
  not obtain significant build speedups.
</p>
</li>
<li>
<p>
Various updates to <span class="monospaced">Makefile</span>-s.  See <span class="monospaced">Makefile.config</span> for
  common and user-customizable configuration.
</p>
</li>
<li>
<p>
Characterize MLton-LICENSE as an instance of the Historical
  Permission Notice and Disclaimer (HPND) license, rather than
  BSD-style.
</p>
</li>
</ul></div>
</li>
</ul></div>
<div class="paragraph"><p>For a complete list of changes and bug fixes since
<a href="Release20180207">Release20180207</a>, see the
<a href="https://github.com/MLton/mlton/blob/on-20200817-release/CHANGELOG.adoc"><span class="monospaced">CHANGELOG.adoc</span></a> and
<a href="Bugs20180207">Bugs20180207</a>.</p></div>
</div>
</div>
<div class="sect1">
<h2 id="_20200817_binary_packages">20200817 binary packages</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
AMD64 (aka "x86-64" or "x64")
</p>
<div class="ulist"><ul>
<li>
<p>
<a href="https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-1.amd64-darwin-19.6.gmp-homebrew.tgz">Darwin (.tgz)</a> 19.6 (Mac OS X Catalina), dynamically linked against <a href="GMP">GMP</a> in <span class="monospaced">/usr/local/lib</span> (suitable for <a href="https://brew.sh/">Homebrew</a> install of <a href="GMP">GMP</a>)
</p>
</li>
<li>
<p>
<a href="https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-1.amd64-darwin-19.6.gmp-static.tgz">Darwin (.tgz)</a> 19.6 (Mac OS X Catalina), statically linked against <a href="GMP">GMP</a> (but requires <a href="GMP">GMP</a> for generated executables)
</p>
</li>
<li>
<p>
<a href="https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-1.amd64-darwin-17.7.gmp-homebrew.tgz">Darwin (.tgz)</a> 17.7 (Mac OS X High Sierra), dynamically linked against <a href="GMP">GMP</a> in <span class="monospaced">/usr/local/lib</span> (suitable for <a href="https://brew.sh/">Homebrew</a> install of <a href="GMP">GMP</a>)
</p>
</li>
<li>
<p>
<a href="https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-1.amd64-darwin-17.7.gmp-static.tgz">Darwin (.tgz)</a> 17.7 (Mac OS X High Sierra), statically linked against <a href="GMP">GMP</a> (but requires <a href="GMP">GMP</a> for generated executables)
</p>
</li>
<li>
<p>
<a href="https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-1.amd64-linux.tgz">Linux (.tgz)</a>, glibc 2.27 (Ubuntu 18.04)
</p>
</li>
<li>
<p>
<a href="https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-amd64-mingw.tgz">MinGW (.tgz)</a>, gcc 10.1.0, statically linked against <a href="GMP">GMP</a>; contributed by Bernard Berthomieu; see <a href="http://projects.laas.fr/tina/software.php">http://projects.laas.fr/tina/software.php</a> for details and installation instructions
</p>
</li>
<li>
<p>
<a href="https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-amd64-mingw-gmp-dynamic.tgz">MinGW (.tgz)</a>, gcc 10.1.0, dynamically linked against <a href="GMP">GMP</a>; contributed by Bernard Berthomieu; see <a href="http://projects.laas.fr/tina/software.php">http://projects.laas.fr/tina/software.php</a> for details and installation instructions
</p>
</li>
<li>
<p>
<a href="https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-amd64-solaris-gmp-dynamic.tgz">Solaris (.tgz)</a> 11.4, dynamically linked against <a href="GMP">GMP</a>; contributed by Bernard Berthomieu
</p>
</li>
</ul></div>
</li>
<li>
<p>
x86
</p>
<div class="ulist"><ul>
<li>
<p>
<a href="https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-x86-mingw.tgz">MinGW (.tgz)</a>, gcc 10.1.0, statically linked against <a href="GMP">GMP</a>; contributed by Bernard Berthomieu; see <a href="http://projects.laas.fr/tina/software.php">http://projects.laas.fr/tina/software.php</a> for details and installation instructions
</p>
</li>
<li>
<p>
<a href="https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-x86-mingw-gmp-dynamic.tgz">MinGW (.tgz)</a>, gcc 10.1.0, dynamically linked against <a href="GMP">GMP</a>; contributed by Bernard Berthomieu; see <a href="http://projects.laas.fr/tina/software.php">http://projects.laas.fr/tina/software.php</a> for details and installation instructions
</p>
</li>
<li>
<p>
<a href="https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-x86-solaris-gmp-dynamic.tgz">Solaris (.tgz)</a> 11.4, dynamically linked against <a href="GMP">GMP</a>; contributed by Bernard Berthomieu
</p>
</li>
</ul></div>
</li>
</ul></div>
<div class="sect2">
<h3 id="_binary_packages_available_at_other_sites">Binary packages available at other sites</h3>
<div class="ulist"><ul>
<li>
<p>
<a href="http://projects.laas.fr/tina/software.php">TINA toolbox</a>: Includes binary
  releases for: amd64-darwin Mac OS X Sierra (both statically and dynamically
  linked against <a href="GMP">GMP</a>), amd64-linux Ubuntu 14 (both statically and
  dynamically linked against <a href="GMP">GMP</a>), amd64-mingw and x86-mingw MSys2 (both
  statically and dynamically linked against <a href="GMP">GMP</a>), amd64-solaris and
  x86-solaris Solaris 11.4 (both statically and dynamically linked against
  <a href="GMP">GMP</a>), and x86-linux Ubuntu 16 (both statically and dynamically linked
  against <a href="GMP">GMP</a>).
</p>
</li>
</ul></div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_20200817_source_packages">20200817 source packages</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a href="https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817.src.tgz">mlton-20200817.src.tgz</a>
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_also_see">Also see</h2>
<div class="sectionbody">
<div class="ulist"><ul>
<li>
<p>
<a href="Bugs20200817">Bugs20200817</a>
</p>
</li>
<li>
<p>
<a href="http://www.mlton.org/guide/20200817/">MLton Guide (20200817)</a>.
</p>
<div class="paragraph"><p>A snapshot of the MLton website at the time of release.</p></div>
</li>
</ul></div>
</div>
</div>
</div>
<div id="footnotes"><hr></div>
<div id="footer">
<div id="footer-text">
</div>
<div id="footer-badges">
</div>
</div>
</body>
</html>
