Haskell : the craft of functional programming / 2nd ed - Thompson, Simon, 1959- (Addison Wesley, 1999)