Thank you for the positive feedback on our last post.
The GHC community update consists of three sections:
- Call for contributions: The GHC team asks for contributions - these range from issues that are simple and fun to solve to issues that require an expert pair of eyes that we have too few of.
- Call for opinions: The GHC team asks for your opinion on some matter regarding GHC - these are issues about often contentious matters where community input is highly valued. We ask that you engage in good faith.
- Maintainersâ section: To avoid surprises in upcoming GHC releases, we try to inform maintainers of Haskell libraries as early as possible to make sure they can test their libraries against unreleased GHC versions. This section is also relevant for industry users looking to adapt their codebases to newly released GHC versions.
Call for Contributions
In addition to the Call for Contributions of the last update we would appreciate your help on the following issues:
- âunrecognised warning flagâ conceals cause by sanitizing incorrect syntax: GHC does some funny business when receiving a flag that looks like
-W=fooâ it reports it doesnât know-Wfoo, even if it does exist. Looks like a bug that might be a fun time to fix. - The existence of a file named âmâ causes GHCI to fail.: When the library search path is set incorrectly, GHC tries to read the library directly from the cwd. This is all fine, except that GHC barfs and panics if that file cannot be loaded. Perhaps we could improve the way GHC communicates this to the users.
- Confusing error message about type-like kinds when a type
Typeis in scope which is not the one fromData.Kind: GHC sometimes says âExpected a type, but âaâ has kind âTypeââ â the ticket has the explanation whatâs going wrong and also a proposal on how to fix it. - And of course some issues with documentation, this is one that has been recently added
Call for Opinions
- Thereâs a new writeup about the plans and current state of Typed Template Haskell by Sheaf: If you are into staging, or just want to find out about the current state and plans of Typed Template Haskell or even have some time for a complicated but interesting project, have a read!
- Should we adjust the bootstrapping policy to force bootstraipping to be possible with the latest LTS release?
- Release policy: Blockers/Delays for minor releases: We are looking to make some minor adjustments to the release policy, more concretely, weâre wondering if preparing a new RC may be warranted to fix bugs on Tier 2 platforms. If you have opinions, please comment.
- Coordinate testing of RCs with downstream distributors: In the past we had some issues of bugs surfacing after a release had already been made. These could have been prevented by more extensive tests of the release candidates. While weâre looking into getting head.hackage, our own tool to catch such bugs, onto solid feet again, we would like to increase the coordination of release candidate testing and therefore work-sharing between distributors. Currently weâre looking to collaborate with stackage and nixpkgs but if you are a distributor building GHC and a lot of packages, please reach out!
-XMultilineStringsdoes not permit literal tabs: Do you think they should? Please comment! If you feel strongly, perhaps you could even amend the existing proposal for evaluation by the ghc steering committee.- Donât expose platform dependent interfaces from base: Should base continue to be platform dependent? This is an important question in the ongoing efforts around reinstallable base.
Reminder: The reinstallabe base effort will bring huge improvements to the surface language but itâs a ton of work. If you are excited for its benefits, we would be delighted about your help on that front. Please reach out to Teo Camarasu if you have some free cycles!
Maintainersâ Section
- Nightlies are back on the menu! I hope for longer this time. I (@MangoIV) will try to keep them being produced.
- The nightly ghcup yaml can be found at https://ghc.gitlab.haskell.org/ghcup-metadata/ghcup-nightlies-0.0.7.yaml
- Check out the Release Channels section on the GHCup docs for how to use them.
- TL;DR:
(thanks @hasufell for the correction)ghcup --url-source=https://ghc.gitlab.haskell.org/ghcup-metadata/ghcup-nightlies-0.0.7.yaml \ list --show-nightly --since "$(date -d "last week" -u +"%Y-%m-%d")" -t ghc - It would be very much appreciated to â if you have a complex or important library â set up a CI run that builds your library against the nightly, if your dependencies admit to that.
- Check out this dashboard to find out when nightlies were last produced.
- The forkoff for the next version of GHC, GHC 10.0.1 is going to happen next week. We will notify you on the usual channels.
- 10.0.1 will drop Tier 1 support for Debian 9 and 10 and Ubuntu 18 and 20. These are end of life distributions. We will not drop the support for x86_64 darwin, yet.