GHC 9.6.1-alpha2 is now available

The GHC team is very pleased to announce the availability of GHC 9.6.1-alpha2.
As usual, binaries and source distributions are available at

Beginning with GHC 9.6.1, GHC can be built as a cross-compiler to
WebAssembly and JavaScript. This is an important step towards robust
support for compiling Haskell to the Web, but there are a few caveats to be
aware of in the 9.6 series:

  • Both the Javascript and WebAssembly backends are still at an early
    stage of development and are present in this release as a technology preview

  • Using GHC as a cross-compiler is not as easy as we would like it to
    be; in particular, there are challenges related to Template Haskell

  • GHC is not yet run-time retargetable; a given GHC binary targets
    exactly one platform, and both WebAssembly and JavaScript are considered
    platforms for this purpose. Cross-compilers must be built from source by
    their users

We hope to lift all of these limitations in future releases.

Additionally, 9.6.1 will include:

  • Significant latency improvements in the non-moving garbage collector

  • Efficient runtime support for delimited continuations

  • Improvements in compiler error messages

  • Numerous improvements in the compiler’s memory usage

See the release notes for a comprehensive accounting of changes in this

As always, one can find a migration guide to aid in transitioning from older
releases on the GHC Wiki. We have also recently started
extending our release process to cover a wider set of Linux distributions. In
particular, we now offer Rocky 8 and Ubuntu 20.04 binary distributions which
cover RedHat-derivative and distributions using older glibc releases (namely
2.27), respectively.

Please do give this release a try and open a ticket if you see anything

~ Ben


To add the pre-release channel, do:

ghcup config add-release-channel 

To install the pre-release, do:

ghcup install ghc