The "Begin Rust" book

See a typo? Have a suggestion? Edit this page on Github

Get new blog posts via email

My move to Haskell over a decade ago was the first time I truly engaged with an open source language community. When I realized how powerful a language Haskell is, and what kind of potential it had to improve programming productivity and software safety, I decided to invest a significant amount of my time and energy into promoting its adoption. That included open source library work, tooling work, documentation writing, and joining FP Complete.

I have not always seen eye to eye with everyone else in the Haskell community. I think that’s a Good Thing. We need diversity of opinion and thought, and representation of many different needs. I have decidedly taken a Bazaar approach to my work: let’s start a new idea, open it to the world, and see what sticks. I believe this has paid dividends. It has also often put me at odds with others in the community.

This post is not about past mistakes and regrets, though I have both. It’s about forging a path forward.

I believe open, transparent, respectful, and vigorous technical debate will improve any technical project. I believe clear signposting of goals and processes allows people to opt in and out of projects. I believe that the Bazaar model is a good one, and we should continue to encourage ideas to flourish or fail on their merits. But I also think we would benefit from more communication frameworks.

Haskell Foundation

Several months ago, I was approached by some of the members of the nascent Haskell Foundation to get my feedback and gauge my interest in involvement. I have continued those discussions in private ever since. I raised many concerns along the way, many of which have been addressed as of the official public announcement. I want to first give a lot of credit to those at HF I’ve interacted with. It is not easy to receive such critiques without a clear path to success. Thank you for putting up with me.

I know my concerns have been heard. I similarly know that not all of my concerns have been fully addressed, but that is a process that will take time. Given that, I want to publicly state a few things:

  1. I support the overall goals of the Haskell Foundation, and believe fully that the founders are earnest in their commitment to them.
  2. I will be participating in the Haskell Foundation going forward. My initial focus will be on process and transparency improvements (see below). I hope to be able to participate as well in improving the beginner and industrial adoption story.
  3. I will be coordinating with the teams around Stack and Stackage to confirm that we will affiliate with the Haskell Foundation.

I retain some healthy skepticism around all of these steps. In particular, I believe the vagueness of goals in HF may be hiding some deep disagreements yet to manifest. I believe at this point affiliation is a vague commitment. I’m not certain HF can adequately address some of the outstanding technical deficiencies and disagreements in the Haskell ecosystem.

However, the best way to address that skepticism is to dive right in. As I said, I believe the HF members are earnest in their stated goals. I will be just as earnest in my attempts to work with the HF and help improve both it and the Haskell ecosystem in general.

Next steps

To succeed, I believe the HF needs to provide clear outgoing communication on what it is doing and how it works. It needs to provide for a robust process of receiving and processing incoming communication. It needs to operate as transparently as possible. It needs to foster projects on a path to success. It needs to allow projects to experiment, explore, and exchange ideas.

The backbone to all of this is clarity. I have already written some of my aspirations in my transparency blog post. I have been asked to help the HF adhere to these goals. And I look forward to participating.

I would provide more details here on how I will be proceeding, but I honestly don’t know. I have thoughts. We should have a central repository of documentation that clearly lays out how to get things done. There should be simple ways to interact with the group. There should be escalation points where issues are not being addressed. The Haskell Foundation interim board recently approved moving HF discussions to a Discourse instance on I'd encourage others interested in participating to sign up there.

As I work on this, I intend to update status here. I don’t know what the timeline will reasonably look like. Many people (myself included) have busy schedules and other responsibilities. I intend to find some way to foster open communication.

I’m a pessimist by nature. I see the worst possible outcomes first. Those abound, and always will. But the HF is the first initiative in a long time in the Haskell community that is trying to bring everyone to the table, and improve the state of the Haskell ecosystem. I will do what I can to make that succeed. And I will communicate honestly on how I see that progressing.

Get new blog posts via email