3.0 out of 5 stars
A decent overview of ML, Feb 19 2004
By A Customer
This review is from: Elements of ML Programming, ML97 Edition (Paperback)
While I find functional programming, and ML/SML in particular to be most annoying, this particular book is helpful in illuminating some key concepts of the paradigm. However, there are certainly sections where complex concepts are either glossed over, or explained in a very confusing manner (take Section 5.3.1, for example, which attempts, in a somewhat confusing manner, the limitations of polymorphic functionality in ML and it's relationship to types. A dense topic to be sure, but also poorly explained.) Additionally, there are some technical errors to be found in the book (eg: things that 'dont work' which really do, incorrect error messages, etc), which I mostly attribute to SML having been updated since the author published the book (not really his fault).
Certain things, ARE however, the author's fault. In particular, he addresses the audience with needlessly confusing 'Basis'/'Induction' definitions for many many things. For example, a binary tree is defined in such a way. This can be incredibly confusing, espcially if one does not already understand the concept of a BT or a BST. While ML/SML is a mathematical language, the author assumes too much formalism in his definitions, enough that the reading feels like reading a thick algorithms book at times (not a pleasant experience). Suggestion to author: Explain things simply instead of trying to coerce definitions into formalisms in which they do not belong (in particular the induction formalism which is very often confusing, use induction only when TRULY needed).
On the whole, ok to learn from, but can be overly verbose in some areas (eg: the belabored explination of all the error messages) , yet unclear in others... (eg: the density of several sections).
Also, as a parting note, there is not too much assumed about the reader, however, it helps to have a broad general computer science knowledge (as well as basic math, eg: calculus) unless you pickup new side-concepts very quickly. For example, in one example, the author uses the trapezoidal approixmation as an illustration of higher order functions. This is well and good, assuming you know calculus. While he does 'explain' the ideas (eg: what a binary search tree IS) if you havent had it presented to you before, you're in too deep.
Important: This is a ACADEMIC book, this is not something to pick up and read, it is far too dry for that. If you're looking for a good learning book, look elsewhere.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No
5.0 out of 5 stars
Well written and enjoyable., Jan 23 1998
This review is from: Elements of ML Programming, ML97 Edition (Paperback)
Although this is an introductory book, I also recommend it to advanced programmers. Concise and well written, it is a joy to read. Programmers who have little knowledge of modern functional languages will benefit immensely from this book. It is a great recreational read.
Help other customers find the most helpful reviews
Was this review helpful to you? Yes
No