### Yet Another Monad Tutorial (part 1: basics)

It's a standing joke in the Haskell community that every Haskell programmer, as part of his or her learning process, will eventually write one or more monad tutorials. I'm certainly no exception. But since I know that there are already dozens of monad tutorials out there, some quite good, why on earth would I want to write Yet Another One? There are two reasons:

I think I can explain some aspects of monads better than most of the monad tutorials I've seen.

My own understanding of monads has improved greatly, and I'd like to try to pass that on if I can.

**( Collapse )**