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 &ge; 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