ML for the Working ProgrammerCambridge University Press, 1996 M06 28 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. |
Contenido
Names Functions andTypes Chapter outline Value declarations 2 1 Naming constants 2 2 Declaring functions 2 3 Identifiers in Standard ML Number... | |
Summary of main points 4 Trees and Concrete Data | |
Functions and InfiniteData Chapter outline Functions asvalues 5 1 Anonymous functionswith | |
Summary of main points 3 Lists | |
Summary of main points 7 Abstract Types andFunctors Chapter outline | |
Imperative Programming in ML | |
Summary of main points 10 A Tactical Theorem Prover | |
Términos y frases comunes
abstract type algorithm applied argument arithmetic binary search trees binary tree callbyvalue canbe characters components compute constructors contains curried function data structures datatype datatype declaration defined depthfirst search dictionary efficient elements empty error example exception Exercise expression flexible arrays foldl foldr formula functional programming functor handler heap higherorder functions imperative programming implement infix infix operator input insert integers iterative label lazy evaluation logic lookup match mathematical mathematical induction matrix merge sort ML’s modules multisets natural numbers node normal form notation numbers ofthe output pairs parameter parser parsing pattern patternmatching polymorphic polynomials predicate priority queues proof proposition prove quantifier real numbers recursive call recursive functions references replaces representation represented result returns rule Section sequence sequent calculus signature solutions sort specifies standard library Standard ML string structural induction subgoal subtrees syntax tactics takes term terminate theorem update vector wellfounded