Introduction to Functional Programming Systems Using Haskell (Cambridge Computer Science Texts)