Succeeding in Industry with Haskell
There are only a handful of industry resources using Haskell, despite being a fully-fledged production language used by dozens of companies.
So I got instantly excited when I heard that Matt Parsons was working on the Production Haskell book. A book about building and scaling Haskell usage in business? Yes, please!
It goes through various challenges in using Haskell professionally. Do you need help figuring out how to add logging to your production code base? Help with properly handling errors? Scared of Template Haskell? Talking to databases? Etc. Matt has years of experience and experiments working through these topics, so you don't have to go through all of it yourself. It also provides helpful tips and best practices for working with Haskell in a production environment.
This is not a book for beginners or people who have yet to be sold on Haskell. It's not always flattering for the current state of things: there is rarely a correct answer. And as the author puts it: "Haskell is a hugely diverse landscape. There are many regional groups […] all have thriving Haskell ecosystems that have interesting dialects and differences in custom and practice." Don't expect Production Haskell to serve you the solution on a silver platter. Otherwise, you might get discouraged when by the end of the chapter, you have discovered a few different approaches, all flawed in their own way.
My main complaint is a few chapters that push the edge of what I consider production-relevant. A small chapter on library versioning? Well, it's nice to broaden our horizons, but nothing we really bothered with at work. A chapter on implementing length-indexed vectors using type-level programming that suck [author's words]? No, thank you.
I found social and engineering concerns incredibly thought-provoking and exciting. I feel like we don't talk about principles and values nearly enough. When was the last time you thought about Empathy or Cohesion at work? The chapter On Building Haskell Teams is a nice bonus, which shows us how to teach and hire Haskell developers.
Overall, Production Haskell is an excellent resource for anyone looking to learn how to use Haskell professionally. The book won't fulfil all of your production needs, but it'll make it easier – save you a bunch of time and spare you a few headaches. Whether you are starting on your first production project or already have some experience, this book will surely be a valuable companion in your journey to mastering Haskell.
💡 A hint for people who haven't used leanpub before: A Read Free Sample
button gives you a chunk of the book for free, which is more than enough to get familiar with a book if you're still not sure about getting a full copy.