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!
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.
Bryan, our DevOps Engineer, is hard at work on improving GHC’s CI. He has been posting weekly updates about his activities:
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.
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.
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.
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.
The Haskell Interlude podcast released Episode 12, an interview with Gergő Érdi.
All of our work is made possible by our individual contributors and our sponsors. Thank you so much for your support!