Introduction to Functional Programming using Haskell, 2nd edition (1998)

by R Bird