ML for the Working Programmer
|
| List Price: | $70.00 |
| Price: | $59.50 & eligible for FREE Super Saver Shipping on orders over $25. Details |
Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com
37 new or used available from $21.44
Average customer review:Product Description
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.
Product Details
- Amazon Sales Rank: #695272 in Books
- Published on: 1996-06-28
- Original language: English
- Number of items: 1
- Binding: Paperback
- 496 pages
Editorial Reviews
Review
"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
Review
"The book is an excellent introduction to ML, but even better, it provides a good overview of functional programming." Jeffrey Putnam, Computing Review
Customer Reviews
Very Worthwhile
If you are looking for a book that will help extend your professional qualifications this is not it. However if work through this book you will emerge with much stronger programming skills in any programming language and gain some important insights in to writing intelligent programs.
The book teaches Standard ML. Standard ML is a clean, modern, strongly typed, functional programming language. Some SML compilers generate code that ranks among the best for higher level languages. Standard ML comes out of a community that has been interested in developing logical theorem provers and tools for formal analysis of programs. Don't let this scare you away -- any reasonably bright programmer should be able to follow Paulson's explanations.
The book provides an accessible introduction to programming with recursive functions, higher order functions (functions that process functions) and working with a language with polymorphic types (a little like C++'s templates but the compiler figures out the types). This is as much a book on algorithms and data structures from a functional point of view as it is a book on Standard ML.
I especially like the book's development of more advanced examples in the last two chapters. These have to do with writing programs that implement some key ideas in logic and computability theory. These were easy to follow even for a non-expert. I have a strong interest in how programs can be made to reason and learn and so these were really interesting.
Completely mistitled
This book is not bad; the explanation of all that it does explain is very good. It's just somewhat impractical, especially given the name; the title is a terrible misnomer for a book whose major example projects involve a lambda calculus evaluator and a proof assistant for first-order logic (not exactly the sort of thing "working" programmers usually have to do!). It does have some pretty solid demonstrations of how to implement various useful data structures and algorithms in SML (e.g. trees), but no "real-world" projects.
The problem with this book is typical of the problem facing a lot of introductory material for many of the more academic languages-- they explain the theory behind the language very well and how the features work, but they don't really teach you how to organize programs in the language, stuff like what code to put in what file, when to use modules and functors, etc. If you cut your teeth in imperative OOP like I did, reading this book you might get to understand the features of this language, but without still being clear about how one would go about writing an actual program in it.
Still, this is a book worth owning.
Good introductory book with some advanced chapters
If you want to know something about ML, but learn it through good examples and interesting problems. This is the book! Also has some neat chapters on automated theorem proving, logic and interpreters.




