Probability Monads from scratch in 100 lines of Haskell
dennybritz.com