ML for the Working Programmer 2nd Edition by Larry C. Paulson (PDF)

14

 

Ebook Info

  • Published: 1996
  • Number of pages: 734 pages
  • Format: PDF
  • File Size: 18.03 MB
  • Authors: Larry C. Paulson

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 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.

User’s Reviews

Reviews from Amazon users which were colected at the time this book was published on the website:

⭐I have some experience with OCaml and was looking for additional resources to learn more about modules and functors. The author does a really good job showing how and why you would want to use functors, which was a mystery to me even after a few years of using the language. In general, I found 100% of the contents of this book applicable to OCaml in the year 2022, even though it concerns Standard ML and hails from the 90s. There are a few very minor differences, but they don’t get in the way of trying examples and exercises.The book is full of simple and elegant code, and it helped me understand better how to write idiomatic ML.

⭐I bought this book and simultaneously

⭐. 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

⭐or

⭐.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.

⭐The paperback covers had both been folded and unfolded, but thecontents were in perfect condition. It was an excellent price for thisexpensive text book.

⭐ML is a very well designed programming language. And a direct consequence of this is that if you understand the principles behind its design, we get to really master the language. ML for the working programmer teaches you those principles.While mastery of ML is by itself a great deal, the examples provided and the expositions there of help you become better at functional programming in particular and programming in general. The third and fourth chapters were eye-opening for me in understanding the full power of lists and trees. The chapters that follow just go on to become even better.Do yourself a favor and invest your money and time in this extremely well written book.

⭐A great book, by the creator of the theorem provers Cambridge LCF and Isabelle/HOL.ML was a language created by Robin Milner who had the ingenious idea of building LCF in ML and using ML’s type system to ensure that theorems proved in LCF will always be secure.This book explains programming in ML with an emphasis on building theorem provers, covering topics like lambda calculus.The last chapter explains the full implementation of a simple theorem prover similar to LCF. This is invaluable to those who’d like to understand LCF, HOL, Isabelle, HOL Light, etc.

⭐This is a very well written book for SML. If you’re interested in OCAML or F# this is a good book to get because SML is the core of these languages.

⭐My interest in learning ML started with reading the writings of people like Paul Graham who extoll the virtues of functional programming. ML seemed like the most accessible language for someone coming from an imperative oop background (due to the absence of ‘(‘ … ‘)’ which permeate Lisp and Scheme). There is however a dearth of introductory material on the web and what is out there seems to offer a piece meal, fragmentary overview. So I picked up this book and was not disappointed.Paulson does an excellent job of introducing ML concepts in a clear logical manner. This book is about a lot more than ML though. Paulson teaches functional programming in this book with ML as the vehicle. This is a great book for self study. So why not five stars? The typesetting is horrendous. This is not a pretty book.I think pretty much everyone will admit that ML never gained a lot of traction (Ocaml a bit more than SML I believe). The main problem I see with using ML for a large project is the lack of library support. So why learn ML? It turns out that ML has had an influence on new languages that have come out in recent years; F# and Scala are two. So time spent with ML should pay off when exploring these newer languages and whose close association with the .Net and Java platforms (respectively) cures the library availability dilemma.

⭐Wer das Programmieren neu lernen möchte, kann dies sehr gut mit diesem Buch tun.Jedoch ist das Buch auch für viele interessant, die bereits programmieren können.ML (Meta Language) ist eine funktionale Programmiersprache, die wirklich gut erklärt wird. Wenn man zuvor noch nie funktional programmiert hat, kann man aus diesem Buch so einiges mitnehmen.Jedoch denke ich auch, dass Leute, die bereits funktionale Programmierung beherrschen, ebenfalls einiges aus diesem Buch lernen können, da es sehr umfassend ist.

Keywords

Free Download ML for the Working Programmer 2nd Edition in PDF format
ML for the Working Programmer 2nd Edition PDF Free Download
Download ML for the Working Programmer 2nd Edition 1996 PDF Free
ML for the Working Programmer 2nd Edition 1996 PDF Free Download
Download ML for the Working Programmer 2nd Edition PDF
Free Download Ebook ML for the Working Programmer 2nd Edition

Previous articleLarge Deviations, Free Energy Functional and Quasi-Potential for a Mean Field Model of Interacting Diffusions (Memoirs of the American Mathematical Society) by Donald A. Dawson (PDF)
Next articleAdvanced Topics in Exception Handling Techniques (Lecture Notes in Computer Science, 4119) 2006th Edition by Christophe Dony (PDF)