Haskell Foundation May 2022 Update
New Executive Director and DevOps Engineer
Hello everyone! This was my first month as Executive Director, and I’ve been spending a lot of time getting to know our volunteers, sponsors, board, and community. Bryan Richter (AKA @chreekat), our DevOps Engineer, also started this month, and he’s already hard at work on improving GHC’s CI. Thank you all for the warm welcome that we’ve received!
Technical Agenda
This month has been a busy one for the Haskell Foundation’s technical agenda. Our technical agenda is primarily sourced through community suggestions and feedback, and we are able to execute on this agenda due to the generosity of both the open-source Haskell community and our sponsors. Please remember that proposals are just that - proposals. Your feedback will be taken into account as proposals are edited and considered.
DevOps
Bryan, our DevOps Engineer, is hard at work on improving GHC’s CI. He has been posting weekly updates about his activities:
Structured Errors
The structured errors work has two main components:
- Replacing directly-constructed error strings with datatypes that represent errors and warnings, to relieve client code from the burden of parsing messages
- Using the revealed structure to improve documentation, with an index that maps each message to additional information and context
The first component is included in GHC v9.4.1alpha2, but the second has not yet been completed. Together with @rae, I’ve been addressing this. He is building a version of GHC in which each error and warning has a unique code, and at ZuriHac 2022, I’ll be organizing volunteers to populate an initial version of a web site with explanations and examples that are indexed by the codes.
Security Advisories
I submitted a pre-proposal for a security advisory database for Haskell packages, modeled on RustSec. The intention is that a central location for recording security-relevant issues with packages will make it much easier to tell if a given project transitively depends on packages with known security concerns. We are coordinating with Github to ensure that Dependabot can support our advisory database.
GHC.X.Hackage
Ben Gamari (@bgamari) submitted a first version of a proposal to establish Hackage overlays for newer compiler versions. Today, it can take some time to update libraries to be compatible with new versions of GHC. A library with many transitive dependencies can be blocked until they are updated. The intention of the GHC.X.Hackage proposal is to create a mechanism to collect third-party compatibility patches as a stop-gap until libraries have first-party updates available. There is a vigorous discussion about the proposal in the linked pull request.
Tick-Tock Releases
Ben Gamari also submitted a first version of a proposal that GHC formalize a process of releases alternating between long-term supported releases and releases with a shorter support window. If you have feedback on this proposal, please share it in the linked pull request, so it can be taken into account as the proposal is revised.
Community
The Haskell Interlude podcast released Episode 12, an interview with Gergő Érdi.
Sponsorship
All of our work is made possible by our individual contributors and our sponsors. Thank you so much for your support!