or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $3.00 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

ML for the Working Programmer [Paperback]

Larry C. Paulson
4.1 out of 5 stars  See all reviews (7 customer reviews)

List Price: $78.00
Price: $64.62 & FREE Shipping. Details
You Save: $13.38 (17%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it Tuesday, May 21? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student

Formats

Amazon Price New from Used from
Hardcover --  
Paperback $64.62  
Sell Back Your Copy for $3.00
No matter where you bought them, get up to 70% back when you sell your books at Amazon.com.
Used Price$6.75
Trade-in Price$3.00
Price after
Trade-in
$3.75

Book Description

June 28, 1996 052156543X 978-0521565431 2
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.

Frequently Bought Together

ML for the Working Programmer + Elements of ML Programming, ML97 Edition (2nd Edition)
Price for both: $134.11

Buy the selected items together


Editorial Reviews

Review

"The book is an excellent introduction to ML, but even better, it provides a good overview of functional programming." Jeffrey Putnam, Computing Review

Book 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 prominent coverage of modules.

Product Details

  • Paperback: 500 pages
  • Publisher: Cambridge University Press; 2 edition (June 28, 1996)
  • Language: English
  • ISBN-10: 052156543X
  • ISBN-13: 978-0521565431
  • Product Dimensions: 6.8 x 1 x 9.7 inches
  • Shipping Weight: 1.9 pounds (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (7 customer reviews)
  • Amazon Best Sellers Rank: #125,744 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.1 out of 5 stars
(7)
4.1 out of 5 stars
Share your thoughts with other customers
Most Helpful Customer Reviews
19 of 19 people found the following review helpful
5.0 out of 5 stars Very Worthwhile March 6, 2005
Format:Paperback
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.
Comment | 
Was this review helpful to you?
36 of 41 people found the following review helpful
3.0 out of 5 stars Completely mistitled June 1, 2004
Format:Paperback
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.

Was this review helpful to you?
8 of 8 people found the following review helpful
4.0 out of 5 stars A special, important, idiosyncratic book June 24, 2011
Format:Paperback|Amazon Verified Purchase
I bought this book and simultaneously Elements of ML Programming, ML97 Edition (2nd Edition). This book, ML for the Working Programmer, is a pretty unique book. It strikes me as a very personal book. The author seems to be involved in theorem proving, which probably explains why a chapter is devoted to the subject and another chapter is devoted to implementing the lambda calculus. I wouldn't normally consider these things working programmers are interested in, but it's easy to cut Paulson some slack because he's an easy writer. While the tone is precise most of the time, the author just can't hold back a ripping joke or a snide remark every once in a while. It's a charming book.

Of all the ML books I've seen (which is most of them) this seems to be the winner. I found Ullman's book a bit too compressed. For example, I wanted to see more material on the module system and functors; Paulson delivers, Ullman left me wanting. Ullman is very, "here's the syntax, here are the semantics." Paulson is much more, "here's three examples of what I am talking about, let's discuss the nuances." Both books spend a great deal of time discussing functional programming. I came into Standard ML from Haskell, so I found a lot of that material old hat, but again, I cut slack because these books are not new anymore but the language was fairly new when they were written. Functional programming techniques were very new and most people didn't have much exposure to them. If you are new to functional programming, I'm sure it won't disappoint.

If you're setting out to learn Standard ML, I think this is a great book with more of a tutorial feel than Ullman's. Also more depth in some areas, like modules. Then again, I like concise books too; I wouldn't say Ullman's is a bad book, just not as good for my purposes.

If you already know functional programming, you will probably want to skip a chapter or two. Particularly if you already know Haskell, you will probably find it very hard to get worked up over maps and folds. If your interest in ML is really an interest in the cutting edge of functional programming or type theory, this book is probably more of a historical curiosity, and you will probably get more out of something like Real World Haskell or Types and Programming Languages.

If you're shopping for a programming language, let me say that Standard ML is a language with few proponents these days. But, unlike most languages that are not widely used, there are four or five well-known, stable and mature compilers and interpreters available for Standard ML, for free. Because it is so perfectly defined, it isn't going anywhere while you aren't looking. It's a safe investment. Also, it is easier to learn than Haskell. There's fewer syntax rules (albeit more ceremony), but it's more familiar and more regular, easier to learn. Also, the runtime semantics are less weird because it is not lazily evaluated. On the other hand, Haskell really seems to be going places these days. If you are being strictly practical or strictly theoretical, the investment in Haskell is more likely to pay dividends and I'd get Real World Haskell. But if you give it a shot, you may find yourself charmed by this ugly duckling of a language and its quirky caretakers.
Comment | 
Was this review helpful to you?




What Other Items Do Customers Buy After Viewing This Item?


Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 



So You'd Like to...

Create a guide


Look for Similar Items by Category