Part 1 of a tutorial on monads

I’ve read or watched several tutorials on monads, and they left me confused. Thinking about why that was, I decided they emphasized a rather uninformative terminology too soon and obscured core ideas with surface syntax. So, following in the footsteps of countless others, I decided to teach monads right (dammit!). I’ve produced part 1 of a tutorial that ignores terminology and uses pictures to avoid the distractions of surface syntax. I’d like you to tell me if the approach is promising. If so, I’ll continue.

Monad Tutorial, Part 1 (Monads as Deciders / Identity Monad)


The tutorial assumes you know some Lisp. I use Clojure for examples.

6 Responses to “Part 1 of a tutorial on monads”

  1. jstoneham Says:

    I quite enjoyed it. I’m looking forward to the next one - the papers I’ve read on monads haven’t really clicked with me so far. Thank you.

  2. kjw Says:

    Thank you for this video. This is by far the most understandable explanation of monads I’ve come across. The introduction with let statements fits well with my prior knowledge.

  3. belun Says:

    good intro. thanks!

    i was wondering why you chose to go with the explanation of “let”. why not something simpler ?

    so far what i know of monads is that they let you do repetitive tasks as an intermediare step while during some iterative processing… so why not some simple math that you could abstract into a monad?

    nevertheless, looking forward the next video.

  4. Today in the Intertweets (March 7th Ed) | disclojure: all things clojure Says:

    […] 1 of a tutorial on monads (here, via @planetclojure) — A series of videos about monads in Clojure. Let’s see if I […]

  5. manutter51 Says:

    Well done! I’m looking forward to the next one.

  6. Brian Marick Says:

    Belun: I don’t have a strong answer to that question. What I’ve been doing is trying to learn monads, composing a video from what I tentatively understand, using the composition to clarify my understanding, and then moving on. So the order of presentation is idiosyncratic in one way. In another way, though: I’ve bounced off monads several times now, so my route to understanding may be useful to others.

Leave a Reply

You must be logged in to post a comment.