Re: [MLton] MLton 20180207 release
Henry Cejtin <[email protected]> Wed, 7 Feb 2018 10:39:07 -0600
| Newsgroups | gmane.comp.lang.ml.mlton.devel,gmane.comp.lang.ml.mlton.user |
|---|---|
| Message-ID | <CAPKXxCrkrhi5AbTTLvoxvQPD0H4LaDVDOM-Wt8WUKSMaomjuug@mail.gmail.com> |
Wow, this is great. Is there any chance of getting a Debian package into the debian world? I see that the ones there are all from the 2013-07-15 version of MLton. Thanks a million On Wed, Feb 7, 2018 at 9:58 AM, Matthew Fluet <[email protected]> wrote: > I'm pleased to announce a new release of MLton, the whole-program > optimizing compiler for Standard ML, available at > http://mlton.org/Release20180207 (and > https://github.com/MLton/mlton/releases/tag/on-20180207-release). > > * Compiler. > * Added an experimental LLVM codegen (`-codegen llvm`); requires > LLVM tools (`llvm-as`, `opt`, `llc`) version ≥ 3.7. > * Made many substantial cosmetic improvements to front-end > diagnostic messages, especially with respect to source location > regions, type inference for `fun` and `val rec` declarations, > signature constraints applied to a structure, `sharing type` > specifications and `where type` signature expressions, type > constructor or type variable escaping scope, and nonexhaustive pattern > matching. > * Fixed minor bugs with exception replication, precedence parsing of > function clauses, and simultaneous `sharing` of multiple structures. > * Made compilation deterministic (eliminate output executable name > from compile-time specified `@MLton` runtime arguments; > deterministically generate magic constant for executable). > * Updated `-show-basis` (recursively expand structures in > environments, displaying components with long identifiers; append `(* > @ region *)` annotations to items shown in environment). > * Forced amd64 codegen to generate PIC on amd64-linux targets. > * Runtime. > * Added `gc-summary-file file` runtime option. > * Reorganized runtime support for `IntInf` operations so that > programs that do not use `IntInf` compile to executables with no > residual dependency on GMP. > * Changed heap representation to store forwarding pointer for an > object in the object header (rather than in the object data and > setting the header to a sentinel value). > * Language. > * Added support for selected SuccessorML features; see > http://mlton.org/SuccessorML for details. > * Added `(*#showBasis "file" *)` directive; see > http://mlton.org/ShowBasisDirective for details. > * FFI: > * Added `pure`, `impure`, and `reentrant` attributes to `_import`. > An unattributed `_import` is treated as `impure`. A `pure` `_import` > may be subject to more aggressive optimizations (common subexpression > elimination, dead-code elimination). An `_import`-ed C function that > (directly or indirectly) calls an `_export`-ed SML function should be > attributed `reentrant`. > * ML Basis annotations. > * Added `allowSuccessorML {false|true}` to enable all SuccessorML > features and other annotations to enable specific SuccessorML > features; see http://mlton.org/SuccessorML for details. > * Split `nonexhaustiveMatch {warn|error|igore}` and > `redundantMatch {warn|error|ignore}` into `nonexhaustiveMatch` and > `redundantMatch` (controls diagnostics for `case` expressions, `fn` > expressions, and `fun` declarations (which may raise `Match` on > failure)) and `nonexhaustiveBind` and `redundantBind` (controls > diagnostics for `val` declarations (which may raise `Bind` on > failure)). > * Added `valrecConstr {warn|error|ignore}` to report when a `val > rec` (or `fun`) declaration redefines an identifier that previously > had constructor status. > * Libraries. > * Basis Library. > * Improved performance of `Array.copy`, `Array.copyVec`, > `Vector.append`, `String.^`, `String.concat`, `String.concatWith`, and > other related functions by using `memmove` rather than > element-by-element constructions. > * `Unsafe` structure. > * Added unsafe operations for array uninitialization and raw > arrays; see https://github.com/MLton/mlton/pull/207 for details. > * Other libraries. > * Updated: ckit library, MLLPT library, MLRISC library, SML/NJ library > * Tools. > * mlnlffigen > * Updated to warn and skip (rather than abort) when encountering > functions with `struct`/`union` argument or return type. > * Changelog: https://github.com/MLton/mlton/blob/on-20180207-release/CHANGELOG.adoc > > > Binary packages for amd64-darwin and amd64-linux are currently > available from the release page (and are the platforms tested). > Additional binary packages will be made available as they are > contributed by users. We'd like to encourage downstream maintainers > for the various Linux and *BSD distributions to update to the new > release. > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > MLton-devel mailing list > [email protected]; [email protected] > https://lists.sourceforge.net/lists/listinfo/mlton-devel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot