GHC 8.6.1 released

Ben Gamari - 2018-09-22

The GHC team is pleased to announce the availability of GHC 8.6.1, the fourth major release in the GHC 8 series. The source distribution, binary distributions, and documentation for this release are available at downloads.haskell.org.

The 8.6 release fixes over 400 bugs from the 8.4 series and introduces a number of exciting features. These most notably include:

  • A new deriving mechanism, deriving via, providing a convenient way for users to extend Haskell’s typeclass deriving mechanism

  • Quantified constraints, allowing forall quantification in constraint contexts

  • An early version of the GHCi :doc command

  • The ghc-heap-view package, allowing introspection into the structure of GHC’s heap

  • Valid hole fit hints, helping the user to find terms to fill typed holes in their programs

  • The BlockArguments extension, allowing the $ operator to be omitted in some unambiguous contexts

  • An exciting new plugin mechanism, source plugins, allowing plugins to inspect and modify a wide variety of compiler representations.

  • Improved recompilation checking when plugins are used

  • Significantly better handling of macOS linker command size limits, avoiding linker errors while linking large projects

  • The next phase of the MonadFail proposal, enabling -XMonadFailDesugaring by default

A full list of the changes in this release can be found in the release notes.

Perhaps of equal importance, GHC 8.6 is the second major release made under GHC’s accelerated six-month release schedule and the first set of binary distributions built primarily using our new continuous integration scheme. While the final 8.6 release is around three weeks later than initially scheduled due to late-breaking bug reports, we expect that the 8.8 release schedule shouldn’t be affected.

cabal-install users should note that GHC 8.6 can only be used with cabal-install 2.4.0.1 or later.

Thanks to everyone who has contributed to developing, documenting, and testing this release!

As always, let us know if you encounter trouble.