Re: [MLton] MLton 20180207 release

Matthew Fluet <[email protected]> Wed, 7 Feb 2018 14:50:01 -0500
Newsgroups gmane.comp.lang.ml.mlton.devel
Message-ID <CAMrhFL6yMWARYh_z1k+dMqeYikTF=XsvLVzfXdzCJxOk9n_bfA__8607.31515936113$1518032915$gmane$org@mail.gmail.com>
I'm hoping that others more familiar with the Debian/Ubuntu packaging
can push it through.

On Wed, Feb 7, 2018 at 11:39 AM, Henry Cejtin <[email protected]> wrote:
> 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
> _______________________________________________
> 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