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 are extensively used throughout. In addition, the first chapter has been totally rewritten to make the book more accessible to those without experience of programming languages. The main features of new Standard Library for the revised version of ML are described and many new examples are given, while references have also been updated. 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 the Internet) from the author. He shows how to use lists, trees, higher-order functions and infinite data structures. Many illustrative and practical examples are included.. Efficient functional implementations of arrays, queues, priority queues, etc. are described. Larger examples include a general top-down parser, a lambda-calculus reducer and a theorem prover. The combination of careful explanation and practical advice will ensure that this textbook continues to be the preferred text for many courses on ML.
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.