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 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.
- 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
Product details
July 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.