Tuesday, September 29, 2020

Haskell GHC 9.0.1-alpha released with Linear type support

[ANNOUNCE] Glasgow Haskell Compiler 9.0.1-alpha1 released

Ben Gamari ben at well-typed.com
Mon Sep 28 19:14:04 UTC 2020
Hello all,

The GHC team is very pleased to announce the availability of the first
alpha release in the GHC 9.0 series. Source and binary distributions are
available at the usual place:

    https://downloads.haskell.org/ghc/9.0.1-alpha1/

This first alpha comes quite a bit later than expected. However, we have
done a significant amount of testing on this pre-release and therefore
hope to be able to move forward quickly with a release candidate next
week and with a final release in mid-October.

GHC 9.0.1 will bring a number of new features:

 * A first cut of the new LinearTypes language extension [1], allowing
   use of linear function syntax and linear record fields.

 * A new bignum library (ghc-bignum), allowing GHC to be more easily
   used with integer libraries other than GMP.

 * Improvements in code generation, resulting in considerable
   performance improvements in some programs.

 * Improvements in pattern-match checking, allowing more precise
   detection of redundant cases and reduced compilation time.

 * Implementation of the "simplified subsumption" proposal [2]
   simplifying the type system and paving the way for QuickLook
   impredicativity in GHC 9.2.

 * Implementation of the QualifiedDo extension [3], allowing more
   convenient overloading of `do` syntax.

 * Improvements in compilation time.

And many more. See the release notes [4] for a full accounting of the
changes in this release.

Do note that there are a few things that we expect will change before
the final release:

 * We expect to sort out a notarization workflow for Apple Darwin,
   allowing our binary distributions to be used on macOS Catalina
   without hassle.

   Until this has been sorted out Catalina users can exempt the
   current macOS binary distribution from the notarization requirement
   themselves by running `xattr -cr .` on the unpacked tree before
   running `make install`.

 * We will likely transition the Alpine binary distribution to be fully
   statically-linked, providing a convenient, distribution-independent
   packaging option for Linux users.

 * We will be merging a robust solution for #17760 which will introduce
   a new primitive, `keepAlive#`, to the `base` library, subsuming
   most uses of `touch#`.

As always, do test this release and open tickets for whatever issues you
encounter. To help with this, we will be publishing a blog post
describing use of our new `head.hackage` infrastructure to ease testing
of larger projects with Hackage dependencies later this week.

Cheers,

- Ben


[1] https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0111-linear-types.rst
[2] https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0287-simplify-subsumption.rst
[3] https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0216-qualified-do.rst 
[4] https://downloads.haskell.org/ghc/9.0.1-alpha1/docs/html/users_guide/9.0.1-notes.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20200928/c19c4dd4/attachment.sig>


More information about the ghc-devs mailing list


from Hacker News https://ift.tt/2EJPwDq

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.