The GHC developers are very pleased to announce the release of GHC 9.14.1.
Binary distributions, source distributions, and documentation are available at downloads.haskell.org.
GHC 9.14 brings 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 GHCi improvements including:
Correctness and performance improvements in the bytecode interpreter
RequiredTypeArguments can now be used in more contexts
Greatly improved SSE/AVX2 support in the x86 native code generator backend
Initial native code generator support for LoongArch
The WebAssembly backend now supports evaluation via the interpreter, allowing
GHCi and TemplateHaskell evaluation, including foreign import javascript
usage from within the browser
A new primop annotateStack# for pushing arbitrary data onto the call stack
for later extraction when decoding stack traces
A full accounting of changes can be found in the release notes.
See the migration guide for guidance on migrating programs to this release.
Note that while this release makes many improvements in the specialisation
optimisation, polymorphic specialisation remains disabled by default in the
release due to concern over regressions of the sort identified in #26329. 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.
We would like to thank these sponsors 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
comprises this release.
As always, do give this release a try and open a ticket if you see
anything amiss.
The major update to the Windows toolchain is mentioned in the announcement message above and I see a new mingw/0.9 folder in downloads.haskell.org but I could not find it in the release notes.
I think it would be great to have the wasm and js backends show up in the TUI. Itās ok for them to check the environment and error out if the environment wasnāt prepared with these steps. The error could just give a link to this page.