Functional programming: A collection of good Monad tutorials

As the title of this blog post implies, this article contains a collection of Monad tutorials. I’ll only include the good ones as I find them (because there’s obviously no value in reading a bad Monad tutorial).

This post is sponsored by my new book,
Learn Functional Programming Without Fear.

Here is the current list:

There are more, good Monad tutorials out there, and I’ll share those as I remember them.

The article, Monads are hard because ..., shares this quote:

"Monads are hard because there are so many bad monad tutorials getting in the way of finally finding Wadler’s nice paper."

and this quote from Wadler’s paper:

"Pure functional programming languages have this advantage: all flow of data is made explicit. And this disadvantage: sometimes it is painfully explicit."

both of which made me start my own collection of Monad tutorials.

In my own experience, I’ll say that Monads are hard if you try to understand them without first understanding the problem they’re intended to solve. I really began to understand the need for them as I read Chapter 7 of the Real World Haskell book.