[ANNOUNCE] GHC 9.8.1 is now available

The GHC developers are very pleased to announce the availability of the final release of GHC 9.8.1. Binary distributions, source distributions, and documentation are available at downloads.haskell.org: https://downloads.haskell.org/ghc/9.8.1 GHC 9.8 brings a number of new features and improvements, including: * Preliminary support the `TypeAbstractions` language extension, allowing types to be bound in type declarations [TypeAbstractions]. * Support for the `ExtendedLiterals` extension, 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 `WARNING` pragma [warnings] * The introduction of the new `GHC.TypeError.Unsatisfiable` constraint, allowing more predictable user-defined type errors [unsatisfiable] * Implementation of the export deprecation proposal, allowing module exports to be marked with `DEPRECATE` pragmas [deprecated-exports] * The addition of build semaphore support for parallel compilation; with coming support in `cabal-install` this 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-map` is in use A full accounting of changes can be found in the [release notes][]. Plans for GHC's future releases 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. Happy compiling, ~ Ben [TypeAbstractions]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0425-de... [extended-literals]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0451-si... [unsatisfiable]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0433-un... [warnings]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0541-wa... [deprecated-exports]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0134-de... [jsem]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0540-js... [release notes]: https://downloads.haskell.org/ghc/9.8.1/docs/users_guide/9.8.1-notes.html [status]: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status

Congratulations, this is a very exciting release!
10 octobre 2023 à 00:18 "Ben Gamari"
The GHC developers are very pleased to announce the availability of the final release of GHC 9.8.1. Binary distributions, source distributions, and documentation are available at downloads.haskell.org:
https://downloads.haskell.org/ghc/9.8.1
GHC 9.8 brings a number of new features and improvements, including:
* Preliminary support the `TypeAbstractions` language extension, allowing types to be bound in type declarations [TypeAbstractions].
* Support for the `ExtendedLiterals` extension, 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 `WARNING` pragma [warnings]
* The introduction of the new `GHC.TypeError.Unsatisfiable` constraint, allowing more predictable user-defined type errors [unsatisfiable]
* Implementation of the export deprecation proposal, allowing module exports to be marked with `DEPRECATE` pragmas [deprecated-exports]
* The addition of build semaphore support for parallel compilation; with coming support in `cabal-install` this 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-map` is in use
A full accounting of changes can be found in the [release notes][]. Plans for GHC's future releases 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.
Happy compiling,
~ Ben
[TypeAbstractions]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0425-de... [extended-literals]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0451-si... [unsatisfiable]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0433-un... [warnings]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0541-wa... [deprecated-exports]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0134-de... [jsem]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0540-js... [release notes]: https://downloads.haskell.org/ghc/9.8.1/docs/users_guide/9.8.1-notes.html [status]: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.

Hi, # The destination is only to haskell-cafe. Thank you for releasing GHC 9.8.1. I realized that "unzip" conflicts if Data.List and Data.Functor are imported. If this is intentional, please tell me which "unzip" we should use. --Kazu
The GHC developers are very pleased to announce the availability of the final release of GHC 9.8.1. Binary distributions, source distributions, and documentation are available at downloads.haskell.org:
https://downloads.haskell.org/ghc/9.8.1
GHC 9.8 brings a number of new features and improvements, including:
* Preliminary support the `TypeAbstractions` language extension, allowing types to be bound in type declarations [TypeAbstractions].
* Support for the `ExtendedLiterals` extension, 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 `WARNING` pragma [warnings]
* The introduction of the new `GHC.TypeError.Unsatisfiable` constraint, allowing more predictable user-defined type errors [unsatisfiable]
* Implementation of the export deprecation proposal, allowing module exports to be marked with `DEPRECATE` pragmas [deprecated-exports]
* The addition of build semaphore support for parallel compilation; with coming support in `cabal-install` this 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-map` is in use
A full accounting of changes can be found in the [release notes][]. Plans for GHC's future releases 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.
Happy compiling,
~ Ben
[TypeAbstractions]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0425-de... [extended-literals]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0451-si... [unsatisfiable]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0433-un... [warnings]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0541-wa... [deprecated-exports]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0134-de... [jsem]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0540-js... [release notes]: https://downloads.haskell.org/ghc/9.8.1/docs/users_guide/9.8.1-notes.html [status]: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status

I saw that Data.List was starting to be recommended to be imported qualified anyway... hence I always do: import Data.List qualified as L these days.

Hi Kazu, In addition to the other answers, I’d like to note that Data.List.unzip can be much more efficient than Data.Functor.unzip. In particular, Data.List.unzip only does a single traversal over the list and it can be fused with good producers. Whereas Data.Functor.unzip does two traversals and cannot fuse. The documentation should really be changed to mention that. So, I’d say use Data.List.unzip when possible. Cheers, Jaro
On 12 Oct 2023, at 05:07, Kazu Yamamoto (山本和彦) via Haskell-Cafe
wrote: Hi, # The destination is only to haskell-cafe.
Thank you for releasing GHC 9.8.1.
I realized that "unzip" conflicts if Data.List and Data.Functor are imported.
If this is intentional, please tell me which "unzip" we should use.
--Kazu
The GHC developers are very pleased to announce the availability of the final release of GHC 9.8.1. Binary distributions, source distributions, and documentation are available at downloads.haskell.org:
https://downloads.haskell.org/ghc/9.8.1
GHC 9.8 brings a number of new features and improvements, including:
* Preliminary support the `TypeAbstractions` language extension, allowing types to be bound in type declarations [TypeAbstractions].
* Support for the `ExtendedLiterals` extension, 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 `WARNING` pragma [warnings]
* The introduction of the new `GHC.TypeError.Unsatisfiable` constraint, allowing more predictable user-defined type errors [unsatisfiable]
* Implementation of the export deprecation proposal, allowing module exports to be marked with `DEPRECATE` pragmas [deprecated-exports]
* The addition of build semaphore support for parallel compilation; with coming support in `cabal-install` this 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-map` is in use
A full accounting of changes can be found in the [release notes][]. Plans for GHC's future releases 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.
Happy compiling,
~ Ben
[TypeAbstractions]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0425-de... [extended-literals]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0451-si... [unsatisfiable]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0433-un... [warnings]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0541-wa... [deprecated-exports]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0134-de... [jsem]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0540-js... [release notes]: https://downloads.haskell.org/ghc/9.8.1/docs/users_guide/9.8.1-notes.html [status]: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.

Hi Jaro, Thanks. I also noticed that Prelude exports "unzip" which is identical to Data.List. So, I should use it. --Kazu
Hi Kazu,
In addition to the other answers, I’d like to note that Data.List.unzip can be much more efficient than Data.Functor.unzip. In particular, Data.List.unzip only does a single traversal over the list and it can be fused with good producers. Whereas Data.Functor.unzip does two traversals and cannot fuse. The documentation should really be changed to mention that.
So, I’d say use Data.List.unzip when possible.
Cheers,
Jaro
On 12 Oct 2023, at 05:07, Kazu Yamamoto (山本和彦) via Haskell-Cafe
wrote: Hi, # The destination is only to haskell-cafe.
Thank you for releasing GHC 9.8.1.
I realized that "unzip" conflicts if Data.List and Data.Functor are imported.
If this is intentional, please tell me which "unzip" we should use.
--Kazu
The GHC developers are very pleased to announce the availability of the final release of GHC 9.8.1. Binary distributions, source distributions, and documentation are available at downloads.haskell.org:
https://downloads.haskell.org/ghc/9.8.1
GHC 9.8 brings a number of new features and improvements, including:
* Preliminary support the `TypeAbstractions` language extension, allowing types to be bound in type declarations [TypeAbstractions].
* Support for the `ExtendedLiterals` extension, 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 `WARNING` pragma [warnings]
* The introduction of the new `GHC.TypeError.Unsatisfiable` constraint, allowing more predictable user-defined type errors [unsatisfiable]
* Implementation of the export deprecation proposal, allowing module exports to be marked with `DEPRECATE` pragmas [deprecated-exports]
* The addition of build semaphore support for parallel compilation; with coming support in `cabal-install` this 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-map` is in use
A full accounting of changes can be found in the [release notes][]. Plans for GHC's future releases 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.
Happy compiling,
~ Ben
[TypeAbstractions]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0425-de... [extended-literals]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0451-si... [unsatisfiable]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0433-un... [warnings]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0541-wa... [deprecated-exports]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0134-de... [jsem]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0540-js... [release notes]: https://downloads.haskell.org/ghc/9.8.1/docs/users_guide/9.8.1-notes.html [status]: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
participants (6)
-
Ben Gamari
-
Dan Dart
-
hecate@glitchbra.in
-
Henning Thielemann
-
J. Reinders
-
Kazu Yamamoto