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.
March 6th, 2011 at 9:32 pm
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.
March 7th, 2011 at 3:33 am
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.
March 7th, 2011 at 3:46 am
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.
March 8th, 2011 at 1:44 am
[…] 1 of a tutorial on monads (here, via @planetclojure) — A series of videos about monads in Clojure. Let’s see if I […]
March 8th, 2011 at 6:38 am
Well done! I’m looking forward to the next one.
March 30th, 2011 at 6:43 pm
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.