Monads in programming seem to be the most mysterious notion of the century. I find two reasons for this:
- lack of familiarity with category theory;
- many authors carefully bypass any mention of categories.
It's like talking about electricity without using calculus. Good enough to replace a fuse, not good enough to design an amplifier.
This crash course starts with an easy introduction to categories and functors, then we define a monad, then give some basic examples of monads in categories,
then present monadic terminology as used in programming languages.
I am sure that if you approach the topic from categorical point of view,
everything will look almost elementary.
Vlad Patryshev, 3/7/2006 - 2/12/2007
Best viewed with Firefox, Mozilla, Netscape. Volunteers to reformat it for IE are welcome.
Here is a pdf version of this slide show.