|
| 1 | +Release20200817 |
| 2 | +=============== |
| 3 | + |
| 4 | +Here you can download the latest public release of MLton, version 20200817. |
| 5 | + |
| 6 | +== Changes since <:Release20200722:MLton 20200722> == |
| 7 | + |
| 8 | +* Compiler. |
| 9 | + ** Fixed bug in `RssaShrink` optimization that would result in an unbound |
| 10 | + variable and an internal compiler error. |
| 11 | +* Other. |
| 12 | + ** Fixes for Solaris and MinGW platforms. |
| 13 | + |
| 14 | +For a complete list of changes and bug fixes since |
| 15 | +<:Release20180207:>, see the |
| 16 | +<!ViewGitFile(mlton,on-20200817-release,CHANGELOG.adoc)> and |
| 17 | +<:Bugs20180207:>. |
| 18 | + |
| 19 | +== Changes since <:Release20180207:MLton 20180207> == |
| 20 | + |
| 21 | +* Compiler. |
| 22 | + ** Added expert `-pi-style {default|npi|pic|pie}` and |
| 23 | + `-native-pic {false|true}` options, which can be used to override a |
| 24 | + target-determined default. |
| 25 | + ** Fix a number of instances of excessive live data during |
| 26 | + compilation. |
| 27 | + ** Disable `Zone` SSA optimization pass by default; the `Zone` pass |
| 28 | + is known to not be safe-for-space. |
| 29 | + ** Statically allocate and initialize some global objects. |
| 30 | + ** Many updates and improvements to C and LLVM codegens. |
| 31 | + ** Add new `BounceVars` RSSA optimization pass to split the live |
| 32 | + ranges of RSSA variables. |
| 33 | + ** Improve `RssaShrink` optimization. |
| 34 | + ** Add support for alternate globalization strategies in |
| 35 | + `ConstantPropagation`. |
| 36 | + ** Strengthen `Useless` optimization with respect to a number of |
| 37 | + primitives. |
| 38 | + ** Add new `DuplicateGlobals` and `SplitTypes` SSA optimization |
| 39 | + passes. |
| 40 | + ** Introduce new `Overflow`-checking primitives and remove old |
| 41 | + `Overflow`-checking primitives and special-case code required (e.g., |
| 42 | + `Arith` transfers in IRs) to support them. |
| 43 | + ** Add parsers for XML, SXML, SSA, and SSA2 IRs. |
| 44 | +* Runtime. |
| 45 | + ** Detect and report incompatible use of ASLR/PIE on `load-world`. |
| 46 | + ** Added support for RISC-V architecture. |
| 47 | +* Language. |
| 48 | +* Libraries. |
| 49 | + ** Basis Library. |
| 50 | + *** Change `OS.IO.poll` to not be restarted when interrupted by a |
| 51 | + signal. (This is consistent with `Socket.select`.) |
| 52 | + *** Add `MLton.sizeAll: unit -> IntInf.int` that returns the size |
| 53 | + of reachable live data. |
| 54 | + *** Change type of `MLton.size` from `'a -> int` to |
| 55 | + `'a -> IntInf.int`, because with 64-bit systems, the size of a |
| 56 | + single object can exceed that representable by a signed 32-bit |
| 57 | + integer. |
| 58 | + ** Other libraries. |
| 59 | + *** Updated: ckit library, MLLPT library, MLRISC library, SML/NJ library |
| 60 | +* Tools. |
| 61 | +* Other. |
| 62 | + ** Updates to simplify porting MLton. |
| 63 | + ** Support parallel build (i.e., `make -j`). This mainly supports |
| 64 | + platforms/packagers that use a parallel `make` by default; it does |
| 65 | + not obtain significant build speedups. |
| 66 | + ** Various updates to `Makefile`-s. See `Makefile.config` for |
| 67 | + common and user-customizable configuration. |
| 68 | + ** Characterize MLton-LICENSE as an instance of the Historical |
| 69 | + Permission Notice and Disclaimer (HPND) license, rather than |
| 70 | + BSD-style. |
| 71 | + |
| 72 | +For a complete list of changes and bug fixes since |
| 73 | +<:Release20180207:>, see the |
| 74 | +<!ViewGitFile(mlton,on-20200817-release,CHANGELOG.adoc)> and |
| 75 | +<:Bugs20180207:>. |
| 76 | + |
| 77 | +== 20200817 binary packages == |
| 78 | + |
| 79 | +* AMD64 (aka "x86-64" or "x64") |
| 80 | +** https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-1.amd64-darwin-19.6.gmp-homebrew.tgz[Darwin (.tgz)] 19.6 (Mac OS X Catalina), dynamically linked against <:GMP:> in `/usr/local/lib` (suitable for https://brew.sh/[Homebrew] install of <:GMP:>) |
| 81 | +** https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-1.amd64-darwin-19.6.gmp-static.tgz[Darwin (.tgz)] 19.6 (Mac OS X Catalina), statically linked against <:GMP:> (but requires <:GMP:> for generated executables) |
| 82 | +** https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-1.amd64-darwin-17.7.gmp-homebrew.tgz[Darwin (.tgz)] 17.7 (Mac OS X High Sierra), dynamically linked against <:GMP:> in `/usr/local/lib` (suitable for https://brew.sh/[Homebrew] install of <:GMP:>) |
| 83 | +** https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-1.amd64-darwin-17.7.gmp-static.tgz[Darwin (.tgz)] 17.7 (Mac OS X High Sierra), statically linked against <:GMP:> (but requires <:GMP:> for generated executables) |
| 84 | +** https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817-1.amd64-linux.tgz[Linux], glibc 2.27 (Ubuntu 18.04) |
| 85 | + |
| 86 | +== 20200817 source packages == |
| 87 | + |
| 88 | + * https://sourceforge.net/projects/mlton/files/mlton/20200817/mlton-20200817.src.tgz[mlton-20200817.src.tgz] |
| 89 | + |
| 90 | +== Also see == |
| 91 | + |
| 92 | +* <:Bugs20200817:> |
| 93 | +* http://www.mlton.org/guide/20200817/[MLton Guide (20200817)]. |
| 94 | ++ |
| 95 | +A snapshot of the MLton website at the time of release. |
0 commit comments