Haskell: The Craft of Functional Programming (PDF)

I’m happy to announce that the PDF of Haskell, The Craft of Functional Programming (3rd edition) is available to view and download for free. Later in the year I’ll revise it and make it available as an online text. But for now, here it is, uncorrected: https://simonjohnthompson.github.io/craft3e/craft3e.pdf

38 Likes

Thanks for making this a freely available online text. I hope that this accessibility will help its adoption as a leading recommended resource for those new to Haskell!

1 Like

Great job @SimonThompson and thank you for releasing the pdf.

Would you consider highlighting syntax (as in the output of Literate Haskell or similar) for the final version?

1 Like

Sure, I’m beginning to explore options, so it’s helpful to hear suggestions!

Hi Simon! Congratulations on publishing the third edition.

I’d just like to say that it’s fascinating that we have independently determined that the “functions as image manipulations” analogue is a great way to introduce people to pure functional programming. In the first lab in my introductory FP module, before they’ve learned even the basic Haskell syntax, they’re given a pre-written gloss project with some primitive images, some operations, and an example animation (mapping from timestep to image), and are asked to implement their own animation. It seems to be a really successful and engaging way to introduce people to the concept.

3 Likes

Thanks, it’s somehow the tangibility of the pictures that really helps. Nice to hear support for that from you.

What’s more beautiful is that the book is going to be updated.

On Reddit, a bunch of people tried to use your book for a group Haskell study session, but eventually people decided to use Get Programming with Haskell instead because the book was considered outdated.

There are three high-quality Haskell books that I wish were updated. Richard Bird’s Thinking Functionally in Haskell, is rapid, entertaining, and replete with beautiful exercises, but it also has amassed errata and is increasingly outdated. Unfortunately, the author has passed on. Real World Haskell is incredible for its combination of practicality and accessibility, but is more than 10 years old. Lastly, at least one wish might be granted: Haskell: The Craft of Functional Programming teaches Haskell in an academic context in a very pragmatic way, introducing many useful libraries as well as emphasizing not just language features and theory, but a Haskelly way of thinking and problem solving.

Thank you so much for having made such a great textbook, and for putting in the effort to make it a truly compelling option for 2023.

5 Likes