on January 17, 2001
I read this book as my first book towards learning functional programming and Haskell specifically. With many years of (imperative and object oriented) software engineering behind me, the concept of functional programming was interesting.
The good parts of this book are that it is extremely well organized. It includes many helpful exercises (which I highly recommend) and a very good introduction (the first ten or dozen chapters).
Later on in the book, however, I found increasing difficulty. The author picks up the pace of the material without, in my opinion, justification. By the end, he covers what, from reading several other books and many online articles, I consider the most confusing topic in a single chapter or two. Reading it several times, I'm still uncertain how to build an I/O intensive program in Haskell, and/or what a Monad truly is and/or how exception processing is properly handled.
That notwithstanding (because it seems to be a fairly common complaint of new Haskell students) I quite enjoyed the book. Before you buy it, though, you may wish to consider books from Paul Hudak (a Yale professor and nice guy) and Richard Bird, both of whom have written on Haskell; Paul actually taught a class which I avoided back in the early 90s - too bad, too, because then I wouldn't have to start from scratch so many years later.
on May 18, 2001
This was my first text on Haskell, and it certainly got me up to speed on all the essential elements. I prefer Hudaks text for most things, but there is no good reason not to own every Haskell book you can get your hands on. This book is especially strong on learning how to prove things about programs.
It doesnt get to Monads until near the end, but perhaps that is a good thing. It depends on what you want out of a text.
I used this text for self study, and it is well suited to such a task.
on September 25, 2002
This book is an excellent piece for individuals in the software industry who have programmed and have excellent skills with programming languages however did not encounter the other concept which I call functional programming. It's a good start depending what is the intended goal and use. If you're currently programming some sort of mathematical logic programs or a combination of boolean algebra and proover verification systems, then that's the book for you. It serves the purpose.
on December 31, 2001
This book may indeed be suitable for beginners in functional programming. Having had some previous exposure to FP, I found it very slow going, with tediously long discussion of trivial toy examples.
Aggravating these flaws is the typography, which is not just ugly, but dysfunctional: The font used for the unnumbered section headers is not sufficiently distinguished from the text font, so it is impossible to skip over the examples to new material being discussed.