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. |
Dentro del libro
Página
... Input and output 8.7 String processing 8.8 Textinput/output 8.9 Text processingexamples 8.10 A pretty printer Summary of main points 9 Writing Interpreters forthe λCalculus Chapter outline A functional parser 9.1 Scanning, or lexical ...
... Input and output 8.7 String processing 8.8 Textinput/output 8.9 Text processingexamples 8.10 A pretty printer Summary of main points 9 Writing Interpreters forthe λCalculus Chapter outline A functional parser 9.1 Scanning, or lexical ...
Página
... input/output and system interface modules provide real gains in power. The library forced much rewriting.Readers would hardly like toread about the function foldleft when thelibrary includes asimilarfunction calledfoldl. Butthese ...
... input/output and system interface modules provide real gains in power. The library forced much rewriting.Readers would hardly like toread about the function foldleft when thelibrary includes asimilarfunction calledfoldl. Butthese ...
Página
... input/output commands. The ML programmer whose style is 'almost'functional hadbetter not be lulled intoafalse senseof referential transparency. 1.3. Storage. management. Expressions in procedural languages have progressed littlebeyond ...
... input/output commands. The ML programmer whose style is 'almost'functional hadbetter not be lulled intoafalse senseof referential transparency. 1.3. Storage. management. Expressions in procedural languages have progressed littlebeyond ...
Página
... inputs to outputs, and the chain ofprocesses istheir composition. Input and output. Communication with theoutside world, which hasstate, is hard to reconcile with functional programming. Infinite lists can handle sequential input and ...
... inputs to outputs, and the chain ofprocesses istheir composition. Input and output. Communication with theoutside world, which hasstate, is hard to reconcile with functional programming. Infinite lists can handle sequential input and ...
Página
... input and output; thus, MLabandons functional programming here. Functional languages: asurvey. The mainstream functional languages adoptlazyevaluation, pattern matching and MLstyle polymorphictypes. Mirandais an elegant language by ...
... input and output; thus, MLabandons functional programming here. Functional languages: asurvey. The mainstream functional languages adoptlazyevaluation, pattern matching and MLstyle polymorphictypes. Mirandais an elegant language by ...
Contenido
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