"This is a well-written book, describing the use of qualified types in functional programming languages. The author gives a good brief introduction to the use of types in programming languages, leading quite naturally to the issues of polymorphism and overloading. He then proposes the use of so-called 'qualified types' as a way of introducing a general mechanism for overloading." Herman Geuvers, Mathematical Reviews "...I encourage you to read this exemplar of computer science research and the appropriate presentation thereof. The writing is excellent, the typesetting is perfect, and the extremely fine point that Jones has made will encourage scholarly contemplation about the nature of type systems." David B. Benson, Computing Reviews