A book on programming languages, using Haskell