

Street magic with functions - the video of the talk I gave at JSZurich meet-up - ivan_krechetov
http://vimeo.com/21795367

======
old_sound
This video has the best analogy I've heard so far regarding why you should use
Monad to encapsulate side effects.

From the video: "The code that deals with side effects really stands out of
the common body of code […] Is like having a bathroom in a house […],
everybody who's in the house has to go to the toilet from time to time, but
you know that when you need it there's bathroom, and you really shouldn't do
the same business anywhere else in the house because it will just be a mess.
That's why in Haskell, if you need to go to the bathroom you'll use monads."

