The new edition of this successful and established textbook retains its two original intentions of explaining how to program in the ML language, and teaching the fundamentals of functional programming. The major change is the early and prominent coverage of modules, which the author extensively uses throughout. In addition, Paulson has totally rewritten the first chapter to make the book more accessible to students who have no experience of programming languages. The author describes the main features of new Standard Library for the revised version of ML, and gives many new examples, e.g. polynomial arithmetic and new ways of treating priority queues. Finally he has completely updated the references. Dr. Paulson has extensive practical experience of ML, and has stressed its use as a tool for software engineering; the book contains many useful pieces of code, which are freely available (via Internet) from the author. He shows how to use lists, trees, higher-order functions and infinite data structures. He includes many illustrative and practical examples, covering sorting, matrix operations, and polynomial arithmetic. He describes efficient functional implementations of arrays, queues, and priority queues. Larger examples include a general top-down parser, a lambda-calculus reducer and a theorem prover. A chapter is devoted to formal reasoning about functional programs. The combination of careful explanation and practical advice will ensure that this textbook continues to be the preferred text for many courses on ML for students at all levels.
Not really sure who "working programmer" refers to in the book. It delves too quickly into formal proofs and implementation of a lambda calculus-based language. It's a disappointment to think that this might influence one's perception of what is possible with Standard ML... namely everything/anything.
This is the book I learned to program from, more or less.
I can't say that what I was doing at the time was much in the way of programming - it was mostly copying stuff out of a text editor into the Moscow ML REPL (the ML REPLs are amazing. Nothing else comes close to being as good, except maybe Jupyter notebooks which are a very different ball game)
However I don't really write any ML variants any more, and even if I did this probably isn't the book I would use now that I already know how. If you're starting out though with this style of programming though, it's a good and easy read and I can recommend it.
Solid introduction to Standard ML with a lot of short example code. Bit longer and less succinct than Ullman's book. I found the examples quite useful for getting a sense of how to use things like the module features.
I really disliked this book. It was an obtuse introduction to functional programming, and there's much better out there. And if you're going to insist on using a language which is really just a wrapper for an elaborate proof planner, then at least go with Haskell.