GHC 10.0.1-alpha1 is now available
The GHC developers are very pleased to announce the availability of the first alpha prerelease of GHC 10.0.1. Binary distributions, source distributions, and documentation are available at [downloads.haskell.org][] and via [GHCup](https://www.haskell.org/ghcup/). GHC 10.0 will bring a number of new features and improvements, including: * The default language edition is now `GHC2024` ([GHC Proposal #632][ghc2024], #26039). * `Type` and `Constraint` are now completely distinct types, just as much as `Int` and `Bool` (#24279). * The new [QualifiedStrings][] language extension ([GHC Proposal #723][qualified-strings]) allows string literals to be qualified using module qualification syntax, so that `M."my string"` desugars to`M.fromString "my string"`. * The treatment of static forms has been simplified, implementing [GHC Proposal #732][static-forms] (#26556). The free term variables of `(static e)` must now be bound at top level. * `-fpolymorphic-specialisation` is now (re)enabled by default (#23559), * Bytecode can now be written to disk with `-fwrite-byte-code` and packaged into bytecode libraries with `-bytecodelib`, which the interpreter can use to satisfy package dependencies (#26298). * Executables can now be properly statically linked with the new `-fully-static` and `-static-external` flags (#26434). * SIMD support in the AArch64 native code generator (#26536). * A new `poll` I/O manager, which is now the default in the single-threaded RTS on all POSIX platforms except macOS (!9677). * Version 2 of the [GHC Jobserver Protocol][jsem] for GHC's `-jsem` jobserver on Linux and other POSIX platforms (#25087, #27253). This is sadly a necessary breaking change. `-jsem` requires cabal-install 3.18 or later, and is otherwise ignored with a warning, falling back to sequential compilation. * Changes to `base`: * `GHC.Num.{BigNat,Integer,Natural}` are no longer exposed ([CLC #359][clc-359]) and GHC internals in `GHC.Num` are deprecated ([CLC #360][clc-360]). * `Data.List.init` and `Data.List.last` now carry an `x-partial` warning ([CLC #292][clc-292]). * The minimum bootstrap compiler is now GHC 9.10, LLVM versions up to 23 are supported (#26813, #27764), and the Debian 9, Debian 10, Ubuntu 18.04 and Ubuntu 20.04 bindists have been dropped in favour of a new Debian 13 bindist (#25876). * ... and many more A full accounting of changes can be found in the [release notes][]. See the [migration guide][] for guidance on migrating programs to this release. As always, GHC's release status, including planned future releases, can be found on the GHC Wiki [status][]. Given the many changes in this major release, we would very much appreciate testing on downstream workloads. GHC development is sponsored by: * [Juspay](https://juspay.com/) * [QBayLogic](https://qbaylogic.com/) * [Channable](https://www.channable.com/) * [Haskell Foundation](https://haskell.foundation/) * [Serokell](https://serokell.io/) * [Well-Typed](https://well-typed.com/) * [Tweag](https://www.tweag.io/) * [Dotcom-Monitor](https://www.dotcom-monitor.com/) * [LoadView](https://www.loadview-testing.com/) * [Web Hosting Buddy](https://webhostingbuddy.com/) * [Find My Electric](https://www.findmyelectric.com/) * [Standard Chartered](https://www.sc.com) * [UpCloud](https://upcloud.com) * [Mercury](https://mercury.com) 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 comprise this release. As always, do give this release a try and open a [ticket][] if you see anything amiss. [downloads.haskell.org]: https://downloads.haskell.org/ghc/10.0.1-alpha1 [release notes]: https://downloads.haskell.org/ghc/10.0.1-alpha1/docs/users_guide/10.0.1-note... [migration guide]: https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/10.0 [status]: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status [ticket]: https://gitlab.haskell.org/ghc/ghc/-/issues/new [ghc2024]: https://github.com/ghc-proposals/ghc-proposals/pull/632 [static-forms]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0732-si... [QualifiedStrings]: https://downloads.haskell.org/ghc/10.0.1-alpha1/docs/users_guide/exts/qualif... [qualified-strings]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0723-qu... [jsem]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0540-js... [clc-292]: https://github.com/haskell/core-libraries-committee/issues/292 [clc-359]: https://github.com/haskell/core-libraries-committee/issues/359 [clc-360]: https://github.com/haskell/core-libraries-committee/issues/360
On Fri, 18 Sep 2026, Zubin Duggal wrote:
Given the many changes in this major release, we would very much appreciate testing on downstream workloads.
I started to compile a bunch of my packages. I run immediately into version bounds issues with respect to "base". It seems that making "base" a library independent from GHC is not yet part of GHC-10.0?
Hi Henning, GHC-10.1 still ships a new major release of `base`, so we will still need to bump `base` bounds concurrently with this upgrade for now. But the efforts of the reinstallable base project have meant that it is more and more viable to have one version of `base` that supports more versions of GHC. We haven't made of release of `base` that has this property yet though. It might be possible to release a minor version of GHC-9.14's base that is compatible with GHC-10.1. For more details see: https://blog.haskell.org/making-ghc-upgrades-easy/ Note that the known names patch will be in 10.2, and that will make everything much easier. Cheers, Teo On Fri, 18 Sep 2026, at 9:45 PM, Henning Thielemann wrote:
On Fri, 18 Sep 2026, Zubin Duggal wrote:
Given the many changes in this major release, we would very much appreciate testing on downstream workloads.
I started to compile a bunch of my packages. I run immediately into version bounds issues with respect to "base". It seems that making "base" a library independent from GHC is not yet part of GHC-10.0? _______________________________________________ Haskell-Cafe mailing list -- haskell-cafe@haskell.org To (un)subscribe, modify options or view archives go to: Only members subscribed via the mailman list are allowed to post.
Thanks Zubin. Installed fine on my M2 MacBook running OS 26.7. My smoke test compiled fine with -O2 -fllvm and also ran fine. I was able to install QuickCheck, mwc-random and aeson. On Fri, Sep 18, 2026 at 7:13 AM Zubin Duggal via ghc-devs < ghc-devs@haskell.org> wrote:
The GHC developers are very pleased to announce the availability of the first alpha prerelease of GHC 10.0.1. Binary distributions, source distributions, and documentation are available at [downloads.haskell.org][] and via [GHCup](https://www.haskell.org/ghcup/).
GHC 10.0 will bring a number of new features and improvements, including:
* The default language edition is now `GHC2024` ([GHC Proposal #632][ghc2024], #26039).
* `Type` and `Constraint` are now completely distinct types, just as much as `Int` and `Bool` (#24279).
* The new [QualifiedStrings][] language extension ([GHC Proposal #723][qualified-strings]) allows string literals to be qualified using module qualification syntax, so that `M."my string"` desugars to`M.fromString "my string"`.
* The treatment of static forms has been simplified, implementing [GHC Proposal #732][static-forms] (#26556). The free term variables of `(static e)` must now be bound at top level.
* `-fpolymorphic-specialisation` is now (re)enabled by default (#23559),
* Bytecode can now be written to disk with `-fwrite-byte-code` and packaged into bytecode libraries with `-bytecodelib`, which the interpreter can use to satisfy package dependencies (#26298).
* Executables can now be properly statically linked with the new `-fully-static` and `-static-external` flags (#26434).
* SIMD support in the AArch64 native code generator (#26536).
* A new `poll` I/O manager, which is now the default in the single-threaded RTS on all POSIX platforms except macOS (!9677).
* Version 2 of the [GHC Jobserver Protocol][jsem] for GHC's `-jsem` jobserver on Linux and other POSIX platforms (#25087, #27253). This is sadly a necessary breaking change. `-jsem` requires cabal-install 3.18 or later, and is otherwise ignored with a warning, falling back to sequential compilation.
* Changes to `base`:
* `GHC.Num.{BigNat,Integer,Natural}` are no longer exposed ([CLC #359][clc-359]) and GHC internals in `GHC.Num` are deprecated ([CLC #360][clc-360]).
* `Data.List.init` and `Data.List.last` now carry an `x-partial` warning ([CLC #292][clc-292]).
* The minimum bootstrap compiler is now GHC 9.10, LLVM versions up to 23 are supported (#26813, #27764), and the Debian 9, Debian 10, Ubuntu 18.04 and Ubuntu 20.04 bindists have been dropped in favour of a new Debian 13 bindist (#25876).
* ... and many more
A full accounting of changes can be found in the [release notes][]. See the [migration guide][] for guidance on migrating programs to this release. As always, GHC's release status, including planned future releases, can be found on the GHC Wiki [status][].
Given the many changes in this major release, we would very much appreciate testing on downstream workloads.
GHC development is sponsored by:
* [Juspay](https://juspay.com/) * [QBayLogic](https://qbaylogic.com/) * [Channable](https://www.channable.com/) * [Haskell Foundation](https://haskell.foundation/) * [Serokell](https://serokell.io/) * [Well-Typed](https://well-typed.com/) * [Tweag](https://www.tweag.io/) * [Dotcom-Monitor](https://www.dotcom-monitor.com/) * [LoadView](https://www.loadview-testing.com/) * [Web Hosting Buddy](https://webhostingbuddy.com/) * [Find My Electric](https://www.findmyelectric.com/) * [Standard Chartered](https://www.sc.com) * [UpCloud](https://upcloud.com) * [Mercury](https://mercury.com)
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 comprise this release.
As always, do give this release a try and open a [ticket][] if you see anything amiss.
[downloads.haskell.org]: https://downloads.haskell.org/ghc/10.0.1-alpha1 [release notes]: https://downloads.haskell.org/ghc/10.0.1-alpha1/docs/users_guide/10.0.1-note... [migration guide]: https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/10.0 [status]: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status [ticket]: https://gitlab.haskell.org/ghc/ghc/-/issues/new [ghc2024]: https://github.com/ghc-proposals/ghc-proposals/pull/632 [static-forms <https://github.com/ghc-proposals/ghc-proposals/pull/632%5Bstatic-forms>]:
https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0732-si... [QualifiedStrings]: https://downloads.haskell.org/ghc/10.0.1-alpha1/docs/users_guide/exts/qualif... [qualified-strings]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0723-qu... [jsem]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0540-js... [clc-292 <https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0540-jsem.rst%5Bclc-292>]: https://github.com/haskell/core-libraries-committee/issues/292 [clc-359 <https://github.com/haskell/core-libraries-committee/issues/292%5Bclc-359>]: https://github.com/haskell/core-libraries-committee/issues/359 [clc-360 <https://github.com/haskell/core-libraries-committee/issues/359%5Bclc-360>]: https://github.com/haskell/core-libraries-committee/issues/360
_______________________________________________ ghc-devs mailing list -- ghc-devs@haskell.org To unsubscribe send an email to ghc-devs-leave@haskell.org
On Sat, Sep 19, 2026 at 03:28:30PM -0300, George Colpitts via ghc-devs wrote:
Thanks Zubin. Installed fine on my M2 MacBook running OS 26.7. My smoke test compiled fine with -O2 -fllvm and also ran fine. I was able to install QuickCheck, mwc-random and aeson.
Works for me as well, be it on a more "mainstream" Fedora 43 system, after: curl https://ghc.gitlab.haskell.org/head.hackage/cabal.project >> cabal.project.local I was able to build and smoke-test the DANE survey engine. This involved building 132 (direct and indirect) dependencies plus the project code. The stats from "+RTS -s" for a database report show similar performance between 10.0.1-alpha1 and 9.14.2-rc2: 10.0.1-alpha1 | 9.14.2-rc2 ------------- | ---------- 1,086,583,392 bytes allocated in the heap | 1,091,848,520 bytes allocated in the heap 88,374,040 bytes copied during GC | 87,762,952 bytes copied during GC 16,505,424 bytes maximum residency (8 sample(s)) | 16,505,440 bytes maximum residency (8 sample(s)) 107,856 bytes maximum slop | 114,520 bytes maximum slop 33 MiB total memory in use (0 MiB lost due to fragmentation) | 33 MiB total memory in use (0 MiB lost due to fragmentation) | Tot time (elapsed) Avg pause Max pause | Tot time (elapsed) Avg pause Max pause Gen 0 248 colls, 0 par 0.056s 0.057s 0.0002s 0.0023s | Gen 0 248 colls, 0 par 0.057s 0.057s 0.0002s 0.0031s Gen 1 8 colls, 0 par 0.048s 0.048s 0.0061s 0.0167s | Gen 1 8 colls, 0 par 0.051s 0.052s 0.0065s 0.0165s | TASKS: 4 (1 bound, 3 peak workers (3 total), using -N1) | TASKS: 4 (1 bound, 3 peak workers (3 total), using -N1) | SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled) | SPARKS: 0 (0 converted, 0 overflowed, 0 dud, 0 GC'd, 0 fizzled) | INIT time 0.003s ( 0.002s elapsed) | INIT time 0.003s ( 0.003s elapsed) MUT time 0.467s ( 2.039s elapsed) | MUT time 0.480s ( 1.935s elapsed) GC time 0.104s ( 0.105s elapsed) | GC time 0.108s ( 0.109s elapsed) GC SYNC time ( 0.000s elapsed) | GC SYNC time ( 0.001s elapsed) EXIT time 0.001s ( 0.005s elapsed) | EXIT time 0.001s ( 0.001s elapsed) Total time 0.576s ( 2.152s elapsed) | Total time 0.592s ( 2.048s elapsed) | Alloc rate 2,324,546,237 bytes per MUT second | Alloc rate 2,274,747,085 bytes per MUT second | Productivity 81.2% of total user, 94.8% of total elapsed | Productivity 81.1% of total user, 94.5% of total elapsed -- Viktor. 🇺🇦 Слава Україні! FWIW, the dependencies were: BoundedChan-1.0.3.0 Cabal-3.16.1.0 Cabal-syntax-3.16.1.0 HTTP-4000.5.0 OneTuple-0.4.3 QuickCheck-2.19.0.0 StateVar-1.2.2 aeson-2.3.2.0 ansi-terminal-1.1.5 ansi-terminal-types-1.1.3 appar-0.1.8 assoc-1.1.1 async-2.2.6 attoparsec-0.14.4 attoparsec-0.14.4-l-attoparsec-internal base-orphans-0.9.4 base16-1.0 base16-bytestring-1.0.2.0 base32-0.4 base64-1.0 bifunctors-5.6.3 binary-parser-0.5.7.7 byteorder-1.0.4 bytestring-lexing-0.5.0.15 bytestring-strict-builder-0.4.5.8 case-insensitive-1.2.1.0 cborg-0.2.10.0 cereal-0.5.8.3 character-ps-0.1 charset-0.3.12 clock-0.8.4 colour-2.3.7 comonad-5.0.10 contravariant-1.5.6 contravariant-extras-0.3.5.4 cryptohash-md5-0.11.101.0 cryptohash-sha1-0.11.101.0 crypton-1.1.5 crypton-asn1-encoding-0.10.0 crypton-asn1-parse-0.10.0 crypton-asn1-types-0.4.1 crypton-pem-0.3.0 crypton-x509-1.9.1 crypton-x509-store-1.9.0 crypton-x509-validation-1.9.1 data-default-0.8.0.2 data-default-class-0.2.0.0 data-fix-0.3.4 distributive-0.6.3 dlist-1.0 dnsbase-1.0.2.2 ech-config-0.0.1 entropy-0.4.1.11 errors-2.3.0 extra-1.8.1 half-0.3.3 hashable-1.4.7.0 hashtables-1.4.2 hasql-2.0.1.0 hasql-2.0.1.0-l-codecs-vocab hasql-2.0.1.0-l-comms hasql-2.0.1.0-l-connection-state hasql-2.0.1.0-l-platform hasql-2.0.1.0-l-to-be-resolved hedis-0.16.4 hostname-1.0 hourglass-0.2.12 hpke-0.1.0 http-types-0.12.6 idna2008-1.0.0.1 idna2008-1.0.0.1-l-punycode-internal indexed-traversable-0.1.5 indexed-traversable-instances-0.1.2.1 integer-conversion-0.1.1 integer-logarithms-1.0.5 iproute-1.7.15 megaparsec-9.8.2 mlkem-0.2.3.0 mmorph-1.2.2 monad-ste-0.1.0.0 network-3.2.9.0 network-byte-order-0.1.8 network-info-0.2.1 network-uri-2.6.4.2 optparse-applicative-0.19.0.0 parser-combinators-1.3.1 postgresql-binary-0.15.0.1 postgresql-connection-string-0.1.0.6 postgresql-libpq-0.11.0.0 pqi-1.1.0.1 pqi-ffi-1.0.1.0 prettyprinter-1.7.2 prettyprinter-ansi-terminal-1.1.4 primitive-0.9.1.0 profunctors-5.6.3 ram-0.22.1 random-1.3.1 resource-pool-0.5.1.0 resourcet-1.3.0 safe-0.3.21 scanner-0.3.2 scientific-0.3.8.1 semialign-1.4 semigroupoids-6.0.2 serialise-0.2.6.1 splitmix-0.1.3.2 streaming-0.2.4.0 streaming-bytestring-0.3.4 strict-0.5.1 tagged-0.8.10 template-haskell-compat-v0208-0.1.9.6 text-builder-1.0.0.5 text-builder-core-0.1.1.3 text-iso8601-0.2.0.0 text-short-0.1.5 th-abstraction-0.6.0.0 th-compat-0.1.4 these-1.2.1 time-compat-1.9.9 time-hourglass-0.3.0 tls-2.4.4 transformers-base-0.4.6.1 transformers-compat-0.7.2 unix-time-0.5.0 unliftio-core-0.2.1.0 unordered-containers-0.2.21 uuid-1.3.16.1 uuid-types-1.0.6.1 vector-0.13.2.0 vector-stream-0.1.0.1 witherable-0.5 zlib-0.7.1.1
participants (5)
-
George Colpitts -
Henning Thielemann -
Teo Camarasu -
Viktor Dukhovni -
Zubin Duggal