Synopses & Reviews
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 book is an excellent introduction to ML, but even better, it provides a good overview of functional programming." Jeffrey Putnam, Computing Review
This new edition of a successful text treats modules in more depth, and covers the revision of ML language.
This new edition of successful text treats modules in more depth, and covers revision of ML language.
This book shows how to program in the ML language, and teaches the fundamentals of functional programming. The major change for the new edition is the extensive use of modules. In addition, the first chapter has been totally rewritten to make the book more accessible to first year students. The main features of new Standard Library for the revised version of ML are described, and many new examples are given.
Includes bibliographical references (p. 449-456) and index.
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.