Monads 101
A Learning Lounge course.So what are monads? Well, monads are (ignoring Leibniz) a special kind of construction in category theory which are interesting as they can be used to realize in functional languages things like I/O, integration with imperative languages, concurrency and so. For this reason some category theory may help: see Category Theory 101.
- For the beginner:
- What the hell are monads? is a practicioner introduction to monads, monadic programming, monadic I/O and such. Requires some knowledge of Haskell.
- All About Monads, a recent extended tutorial which provides some good insight and metaphor that other tutorials have been missing.
- Check also Monads for the dazed and confused.
- For people willing to know more about that, see Philip Wadler's research papers on monads. Have a look at the paper titled "Understanding monads". [Where is it?? I suspect that the original editor was confused by Comprehending monads, which is about how list comprehensions may be generalised to an arbitrary monad. Mad70]
- For the theoretically challenged see the work of Eugenio Moggi.
This page is linked from: Category Theory 101 Learning Lounge Monad