ML for the Working Programmer
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.
- The only ML book covering the revised version of the language, with its new Standard Library
- Written on the basis of extensive practical use of ML, not just teaching experience (unlike most of the competing books)
- Contains many useful pieces of code, which are freely available (via Internet) from the author; solutions will also be available via Internet
- First edition was adopted widely in undergraduate courses
Reviews & endorsements
"The book is an excellent introduction to ML, but even better, it provides a good overview of functional programming." Jeffrey Putnam, Computing Review
Product details
June 1996Paperback
9780521565431
500 pages
246 × 174 × 29 mm
0.811kg
50 b/w illus. 300 exercises
Available
Table of Contents
- 1. Standard ML
- 2. Names, functions and types
- 3. Lists
- 4. Trees and concrete data
- 5. Functions and infinite data
- 6. Reasoning about functional programs
- 7. Modules
- 8. Imperative programming in ML
- 9. Writing interpreters for the lambda-calculus
- 10. A tactical theorem prover
- Bibliography.