We are two friends who love Haskell.
We understood the fundamental concepts of Haskell, but still felt there was so much to learn.
We were ready to start on interesting projects but didn’t know our way around the Haskell ecosystem.
We realized the
Prelude has some hidden dangers and wondered what, if anything, Haskellers do about that.
We spent late nights wishing we had a glossary of the terminology we hear Haskellers toss around rather casually.
We saw that the world was rich in monoids and functors and we wanted to befriend them all.
We wanted examples. We wanted the language extensions we heard about to be discoverable. We wanted to know if a monad is actually just a monoid in the category of endofunctors and what that means.
If you recognize yourself in any of this, then we have good news:
Friend, we are writing this book for you.
We’ve spent a few months figuring out what book we, as Haskell users, want to see. The Joy of Haskell is a work in progress, the culmination of those discussions, the kind of book we want to help us write better, happier Haskell.
We chose the title because joy describes our feeling when we discover new things in Haskell, when we write Haskell, when we talk to our friends about Haskell.
Joy is the feeling we want to infuse into the community. Joy is what we want you to experience when you write Haskell.
We aim to make not just a book, but a work of art. A free verse celebration of math and code. An illuminated manuscript of functional paradigms. A playlist of carefully selected love songs dedicated to this language that, well, sometimes plays a little hard to get.
Your learning path as you go deeper into Haskell is unique to you and what you want to do. Maybe it’s the category theory that grabs your interest; maybe you want examples for some of Haskell’s libraries to facilitate writing top-notch code. The Joy of Haskell will be formatted in such a way that you can turn from one page to the next to follow one path, or jump to any of the cross-referenced, related material.
The Joy of Haskell probably shouldn’t be the first Haskell book you work through. This book will assume you already understand the fundamental concepts. This book will help you find your way from there.