GHC 9.14.1-alpha2 is now available

The GHC developers are very pleased to announce the availability of the second alpha prerelease of GHC 9.14.1. Binary distributions, source distributions, and documentation are available at downloads.haskell.org.

GHC 9.14 will bring a number of new features and improvements, including:

  • Significant improvements in specialisation:

    • The SPECIALISE pragma now allows use of type application syntax

    • The SPECIALISE pragma can be used to specialise for expression arguments as well as type arguments.

    • Specialisation is now considerably more reliable in the presence of newtypes

  • Significant improvements in the GHCi debugger

  • Record fields can be defined to be non-linear when LinearTypes is enabled.

  • RequiredTypeArgments can now be used in more contexts

  • SSE/AVX2 support in the x86 native code generator backend

  • A major update of the Windows toolchain

  • … and many more

A full accounting of changes can be found in the release notes. Given the many specialisation improvements and their potential for regression, we would very much appreciate testing and performance characterisation on downstream workloads.

Observant readers of these prerelease announcements will note that polymorphic specialisation has been dropped from alpha 2. This measure was taken out of an abundance of caution after finding a miscompilation during testing of alpha 1. While this bug will be fixed in the next alpha, we expect to keep polymorphic specialisation disabled by default in the final release. Users needing more aggressive specialisation can explicitly enable this feature with the -fpolymorphic-specialisation flag. Depending upon our experience with 9.14.1, we may enable this feature by default in a later minor release.

This is the second of three expected alpha prereleases. We expect the next (third) alpha will come 23 Sept. 2025, with the release candidate coming 7 Oct. 2025.

We would like to thank the Zw3rk stake pool, Well-Typed, Mercury, Channable, Tweag I/O, Serokell, 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 have made the Haskell ecosystem what it is today.

As always, do give this release a try and open a ticket if you see anything amiss.

15 Likes

If you want to use with Stack:

Add a setup-info dictionary to a configuration file with the applicable entry for your operating system. For example, on Windows, a stack.yaml:

snapshot: nightly-2025-09-13 # GHC 9.12.2
compiler: ghc-9.14.0.20250908
compiler-check: match-exact # Anticipate future alpha releases

# Only required before the GHC version has been installed:
setup-info:
  ghc:
    windows64:
      9.14.0.20250908:
        url: https://downloads.haskell.org/ghc/9.14.1-alpha2/ghc-9.14.0.20250908-x86_64-unknown-mingw32.tar.xz
        # Can be extended with SHA protections etc: see https://docs.haskellstack.org/en/stable/yaml_configuration/#setup-info

To avoid irritating warnings about Stack not being able to parse GHC 9.14’s *.hi files, upgrade to the master branch version of Stack. (My plan is to release the next update of Stack once GHC 9.14.1 is released.)

If you tried Alpha 1 with Stack and now want to tidy up, delete its folder and *.installed file in the platform folder of Stack’s programs folder (see stack path --programs).

May I ask about the language development:

Explicit level import support, allowing import declarations to explicitly state which compilation stages they are are visible to.

Is that elaborated anywhere?

If you think it is a bug, I’ll raise a ticket but I note that the User Guide 2.1.12 Included libraries does not list the following GHC 9.14.1-alpha2 boot packages as such:

ghc-bignum-1.4
ghc-experimental-9.1400.0
ghc-internal-9.1400.0
ghc-platform-0.1.0.0
ghc-toolchain-0.1.0.0
rts-1.0.3
semaphore-compat-1.0.0
system-cxx-std-lib-1.0

Although I appreciate that rts is very special.