Today I finally cut a new release of “What I Wish I Knew When Learning Haskell”. I added a lot of new modern topics, stack projects for all example source code, a new cross-referenced language extension guide and a lovely new stylesheet. I’m happy with this release, but it’s likely the last version I’ll write.
It started out literally as, as the namesake implies, a list of things that I wish I knew when learning Haskell. That was almost six years ago though now, I wrote the first draft on a whim in a little coffee shop in Harvard Square after drinking too many espressos. That was a different time for the language and Haskell really suffered from the problem that it was hard to get an overview of the ecosystem and current practices. Now a couple years later now I consistently get hundreds of emails telling me it’s been invaluable for many people in helping them transition from the novice books like Learn You a Haskell to working on full Modern Haskell. Which is good, if a few more people have gotten into Haskell because of it I consider that a success.
To make a contrived metaphor: Haskell has a lot of parallels to nuclear fusion work. It has the capacity to change the world, is always 10-15 years out from widespread use and requires an enormous influx of time and capital to make it viable. I’ve always felt documentation is the best way to bootstrap this process and this has been my motivation for writing. The more people who can learn the language and use it in industry the more resources get poured back into letting people have free time to contribute back. Just like a reaction, eventually this will become self-sustaining and produce more energy than it takes in.
But personally now I’m getting older and with that you find yourself reflecting on what matters and what you want to spend your finite number of days doing. I have a lot of other projects that I’m excited about working on over the next couple years, but maintaining unofficial documentation for a growing programming language ecosystem just isn’t a great time investment anymore.