Introduction to Functional Programming Using Haskell, 2nd edn (1998)

by R Bird