Videos of my 2009 lectures on functional programming in Haskell are available online from the University of Edinburgh. There seems to be a cottage industry in videos explaining monads, see Lectures 18 and 19 (and 16 and 17) for my version, or see How to Declare an Imperative and Monads for Functional Programming if you prefer text to video.

Labels: Haskell, Programming Languages