To get the free app, enter your email address or mobile phone number.
The Functional Approach to Programming 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Frequently Bought Together
Customers Who Bought This Item Also Bought
More About the Author
Top Customer Reviews
The language of choice (CAML) used in this book requires some effort to learn. Certain elements of its syntax are non-obvious, and the internal type checking can be irritating until you learn that the rigorous checks result in safer programs. (An interesting side-note is that OCaml, compiled to native code, is in most cases very nearly identical in speed to straight C. Visit [...] for details).
This is not an easy book. I found myself flipping to prior chapters to reread sections that I thought I understood on the first pass, but had not. This is no fault of the author, but rather the of the unfamiliar nature of the territory covered.
This book covers a lot of ground. As the other reviewer indicates, if you liked SICP, you will like this book. It covers a lot of the same ground, and provides an excellent grounding in various data structures and so forth.
One final note. Although the book is a translation from French, I found the english to be perfect. There were no slips into incorrect syntax or confusing idioms. My hat's off to the editor/translator.
I've read "Structure and Interpretation of Computer Programs" (SICP), and like many others found it one among the best if not *the best* computerbook I've ever read. I think that "The Functional Approach to Programming" differs a lot from SICP. This is not to say, that it's bad, rather that I think it's very different from SICP. Its focus is much more on semantics (ML of course, not Scheme), correctness (in the scientific sense) and algorithms.
It offers plenty on the functional approach to implementing algorithms like trees and sets. The semantics are elaborated in a clear and concise style, that I've been able to track even though I have no degree in computer science at all (I'm just an auto didact from "the street").
For someone not familiar with functional programming like me, I find this very good. I have a background in C, Java, C++ moving toward more highlevel languages like Scheme, Lisp, Ruby, SmallTalk and Python in the latter years.
It is very succinct with plenty of code examples like SICP. The code doesn't fill too much, since the functional style is a lot shorter for solving complex problems than the equavalent imperative program examples I've seen in C++ and Java. The focus is on the scientific correct thing to do, rather than a more ad hoc focus on "best practices" giving way to a more firm ground for choosing style and algorithms to solve a particular problem. The "best practices" are there of course, but in a transparent way, like small paradigms of code (somewhat like Peter Norvig's "Paradigms of Artificial Intelligence Programming - Case Studies in Common Lisp").Read more ›
The book contains three parts:
(I) Basic principles
`Basic principles starts' from the beginning and has in principle very little assumptions of further knowledge. The style is as elegant as in one of the great French mathematics books. In `Applications' one has the litmus test of understanding. Here the authors use the full power of the concepts demonstrated in the first part. It is dense, elegant and with very little redundancy. The last past gives you some ideas how CAML itself can be implemented.