Haskell Foundation September Seven Month Update Extravaganza

by Andrew Boardman

Seven Months!

We want to improve and become more effective, so in this monthly update let’s dive into what we’ve done over the last seven months, what we’ve learned, and where we want to go.

Fundraising

Last year, prior to the selection of the Board or the Executive Team, GitHub was the first check to clear, they had stepped up to continue funding GHC work that had previously been supported by Microsoft Research. IOHK came a month later with huge support for the Foundation, followed soon by Well-Typed, Mercury, Flipstone, Tweag, and Obsidian Systems. A month after, in January 2021, EMQ joined that illustrious group of early sponsors.

Fundraising has a long lag time between initial contact and checks clearing, so our next sponsors joined us in June, with Digital Asset joining us at the Monad level, and ExFreight at Applicative. This broke the drought, and we added TripShot in July, HERP in August (both as Functors), and CarbonCloud in September at Applicative.

Welcome to CarbonCloud as our newest Sponsor!

We talked to at least 37 companies at different stages of using Haskell, got tons of wonderful feedback and insight into what they’re doing, what is working, what is not. We converted those conversations into five new sponsors totaling $140,000, have another company that is in the final stage, and two more that are figuring out payment logistics.

Additionally, we were given an in-kind donation by MLabs: 40 hours / month of the amazing Koz Ross’s time to dedicate towards HF projects.

Lessons Learned

We cannot take our foot off the gas and relax, our resources are a fundamental limit to what we can accomplish.

Technical Track

Utf8 Text

Bodigrim created his official proposal in May, disabled implicit fusion in Text in June (he found serious performance issues in basic cases while working on the changes), had a PR up for review in August, and merged the PR in September. Amazing and very well received work!

Dominos on a table.
Dominos on a table.

The next steps are PRs to the GHC codebase, and following the changes to downstream dependencies to ensure smooth updates.

Minimal Windows Installer

Julian Ospald stepped up to add proper Windows support for ghcup, and after a marathon of work and collaboration with Tamar Christina, Ben Gamari, and others, got it up and running!

If you want a maintained system GHC, Tamar’s Chocolatey package takes care of the complexity (but requires Chocolatey).

If you prefer to manage your own installation, and want a “system GHC” experience in Windows, you can now use ghcup.

For ease of use, managing multiple GHC installations seamlessly, or if you normally use Stack for your projects, Stack takes care of the complexity behind its CLI.

Lessons Learned

Haskell Foundation Tech Proposal Process

It makes sure that we’ve thought through many of the issues that gave us problems: making sure the right people are notified, looking at prior art, determining motivation and deliverables, and what resources are needed to enable success.

Haskell Foundation Technical Task Force Elections

Extended Dependency Generation GHC Proposal

What does that mean? The Haskell Foundation provides support for GHC development (and we’d love to provide more, please donate and sponsor!), so we get some say in how the work is prioritized. We generally leave it to that team and the Steering Committee’s best judgement, but occasionally when we see a priority to help the ecosystem, we let them know what we’d like moved up in the queue.

Dashboard Proposal

We want to consistently measure the performance of GHC itself, core libraries, fundamental dependencies, and eventually more. This will allow us to find GHC changes that affect library and application performance, address regressions closer to when the change is made, as well as lock in performance improvements. If you have expertise in DevOps, data visualization, and performance analysis, you can make a big difference here!

Cabal

Core Libraries Committee

Documentation

If you are passionate about bringing more people into our community faster, join in!

Performance Book

This proposal offers a solution: a community sourced and maintained online book with the cumulative knowledge of Haskell performance experts, so that set of skills can be widely available and accessible. No matter what your level of expertise, you can help make this a reality!

Matchmaker

Community

Haskell Interlude Podcast

Code of Conduct

This is meant to augment and enhance the GRC, not replace it. If you would like to be involved in making our community a friendlier, more inclusive place, please join our Slack and let us know in the #community-track channel.

Affiliations

As an example, we could have multiple tiers:

* Core
* Security fixes turned around within 24 or 48 hours
* Stability guarantees, support for the last N releases of GHC
* Maintainership line of succession
* Code of Conduct / GRC adoption

Each level would include all the requirements below it, and would give people choosing which libraries and tools to adopt better information about the state of that project and whether they feel comfortable using it in production given their project’s needs.

Current Affiliated Projects and Teams

Haskell IDE Team
GHC Steering Committee
Clash Lang
Haskell Weekly
Core Libraries Committee
Haskell Love
Zurihac
Haskell.org Committee
IHP (Integrated Haskell Platform)
Stack
Stackage

Our Foundation Task Force

Haskell Teachers’ Forum

State of Haskell Survey

Zurihac

Haskell Love

Office Hours

Misc.

Updates

A non-profit for driving improvements in the tools, libraries, community, and adoption of the Haskell programming language.