The GHC developers are very pleased to announce the availability of the release candidate of GHC 9.8.1. Binary distributions, source distributions, and documentation are available at downloads.haskell.org.
GHC 9.8 will bring a number of new features and improvements, including:
Preliminary support the
TypeAbstractionslanguage extension, allowing types to be bound in type declarations TypeAbstractions.
Support for the
ExtendedLiteralsextension, providing syntax for non-word-sized numeric literals in the surface language extended-literals
Improved rewrite rule matching behavior, allowing limited matching of higher-order patterns
Better support for user-defined warnings by way of the
The introduction of the new
GHC.TypeError.Unsatisfiableconstraint, allowing more predictable user-defined type errors unsatisfiable
Implementation of the export deprecation proposal, allowing module exports to be marked with
The addition of build semaphore support for parallel compilation; with coming support in
cabal-installthis will allow better use of parallelism in multi-package builds jsem
More efficient representation of info table provenance information, reducing binary sizes by over 50% in some cases when
-finfo-table-mapis in use
A full accounting of changes can be found in the release notes. This candidate includes roughly 20 new commits relative to alpha 4, including what we believe should be nearly the last changes to GHC’s boot libraries. As always, GHC’s release status can be found on the GHC Wiki status.
We would like to thank GitHub, IOG, the Zw3rk stake pool, Well-Typed, Tweag I/O, Serokell, Equinix, SimSpace, the Haskell Foundation, and other anonymous contributors whose on-going financial and in-kind support has facilitated GHC maintenance and release management over the years. Finally, this release would not have been possible without the hundreds of open-source contributors whose work comprise this release.
As always, do give this release a try and open a ticket if you see anything amiss.