PROGRAMMING WITH EFFECTS Graham Hutton, 1st September 2016 These notes are now out-of-date due to recent changes to Haskell, in particular that every monad must be applicative, and every applicative must be a functor. However, I have extensively revised and updated these notes as the basis of the new chapter on "Monads and more" in the second edition of my textbook "Programming in Haskell", which was published by Cambridge University Press on 1st September 2016: http://www.cs.nott.ac.uk/~pszgmh/pih.html Best wishes, Graham Hutton