ML for the Working Programmer By Lawrence C. Paulson
ML for the Working Programmer
by Lawrence C. Paulson
Out of Stock
This practical book teaches the methods of functional programming, in particular, how to program in Standard ML. The author shows how to use such concepts as lists, trees, higher-order functions and infinite data structures and includes a chapter on formal reasoning about functional programming.
ML for the Working Programmer by Lawrence C. Paulson
This book teaches the methods of functional programming--in particular, how to program in Standard ML, a functional language recently developed at Edinburgh University. The author shows how to use such concepts as lists, trees, higher-order functions and infinite data structures and includes a chapter on formal reasoning about functional programming. This is meant to be a practical book; the author avoids dogma, emphasizes efficiency, and provides many useful and interesting programs. These include fast sorting functions and efficient function implementations of arrays, queues, and priority queues. Examples also include a ^D*l-calculus reducer and theorem prover. Most features of ML (including modules and imperative programming) are covered in depth and the book can be used without an ML reference manual. The reader is assumed to have some experience in programming in conventional languages such as C or Pascal. For such individuals, be they students, graduates or researchers, this will be a convincing introduction to functional programming.
Why buy from World of Books
Our excellent value books literally don't cost the earth
"Paulson is a leader in the field of computer-aided proof, and that field inspires the book's best examples, including a tautology checker, a parser, and a pretty good printer. There is a fascinating collection of search algorithms, which illustrate with good effect how ML can mimic 'lazy' evaluation. These examples culminate in a wonderful final chapter that presents a theorem prover, of just the kind ML was created to support....Paulson writes with vigour and with humour. The book is spiced with jokes and polemics....He minces few words, and as a result he occasionally overstates his case. But better to speak forcefully than to say nothing at all." Philip Wadler, Times Higher Education Supplement ."..a readable guide to functional programming, which will take the reader through all the features of Standard ML, including exceptions, the module system, and imperative reference types...." Simon Thompson, Computing Reviews ."..the first available book that presents ML to a general audience. The author succeeds in explaining the features of ML in digestible chunks. Numerous examples are presented for illustration. Parts of the book, I think, go beyond the interests of a majority of working programmers, but programmers who continue their education (formally or otherwise) will find some interesting material to broaden their knowledge....Overall, I found this book to be informative and useful." Reginald Meeson, ACM SIGPLAN "If you are an experienced programmer who wants to learn Standard ML, then this is the text for you. The book succeeds on two levels: as an introduction both to the strengths of functional programming in general, and to the intricacies of Standard ML in particular. It is filled with well-crafted programs that reveal the tricks of the functional programmer's trade. There is a readable explanation of the sophisticated modules system, and danger signs warn you of the few remaining infelicities in the language.....There is a fascinating collection of search algorithms, which illustrate with good effect how ML can mimic 'lazy' evaluation. These examples culminate in a wonderful final chapter that presents a theorem prover, of just the kind ML was created to support....Paulson writes with vigour and with humor. The book is spiced with jokes and polemics." Philip Wadler, Times Higher Education Supplement
Table of Contents
Part 1 Introduction: functional programming; standard ML. Part 2 Names, functions and types: value declarations; numbers, character strings, truth values; pairs, tuples and records; the evaluation of expressions; writing recursive functions; local declarations; polymorphic type checking. Part 3 Lists: introduction to lists; some fundamental list functions; applications of lists; the equality test in polymorphic functions; sorting - a case study. Part 4 Trees and concrete data: the datatype declaration; exceptions; trees; functional arrays and priority queues; A lists; search strategies and lazy lists. Part 6 Reasoning about functional programs: some principles of mathematical proof; structural induction; a general induction principle; specification and verification. Part 7 Modules: queues, an abstract type; structures; signatures of structures; functors over structures; a review of the modules system. Part 8 Imperative programming in ML: reference types; references in data structures; input and output in Standard ML. Part 9 Writing interpreters for the pye calculus: a functional parser; the pye calculus; representing pye terms in ML; the pye calculus as a programming language. Part 10 A tactical theorem prover: a sequent calculus for first-order logic; processing terms and formulae in ML; tactics and the proof state; searching for proofs.
ML for the Working Programmer by Lawrence C. Paulson
Lawrence C. Paulson
Used - Very Good
Cambridge University Press
Book picture is for illustrative purposes only, actual binding, cover or edition may vary.
This is a used book - there is no escaping the fact it has been read by someone else and it will show signs of wear and previous use. Overall we expect it to be in very good condition, but if you are not entirely satisfied please get in touch with us.