Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
The Functional Approach to Programming
 
 

The Functional Approach to Programming [Paperback]

Guy Cousineau , Michel Mauny , K. Callaway
4.0 out of 5 stars  See all reviews (3 customer reviews)
List Price: CDN$ 72.95
Price: CDN$ 62.63 & this item ships for FREE with Super Saver Shipping. Details
You Save: CDN$ 10.32 (14%)
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.ca. Gift-wrap available.
Only 5 left in stock--order soon (more on the way).
Want it delivered Tuesday, May 29? Choose One-Day Shipping at checkout.

Formats

Amazon Price New from Used from
Hardcover --  
Paperback CDN $62.63  

Product Details


Product Description

Review

"...a valuable contribution to programming practice...Cousineau and Mauny convincingly demonstrate the elegance and conciseness of the functional approach." Computing Reviews

Product Description

A programming course should concentrate on a program's logical structure and design rather than on simply writing code. The functional approach to programming achieves this aim because logical concepts are evident and programs are transparent, and so can be written quickly and cleanly. In this book, the authors emphasize the notions of function and relate programming to familiar concepts from mathematics and logic. They introduce functional programming via examples but also explain what programs compute and how to reason about them. They show how the ideas can be implemented in the Caml language, a dialect of the ML family, and give examples of how complex programs from a variety of areas (such as arithmetic, tree algorithms, graph algorithms, text parsing and geometry) can be developed in close agreement with their specifications. Many exercises and examples are included throughout the book; solutions are also available. An appendix gives all the code used in the book in Standard ML.

Inside This Book (Learn More)
First Sentence
Functional programming is a style that use the definition and application of functions as essential concepts. Read the first page
Explore More
Concordance
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items.
Your tags: Add your first tag
 

 

Customer Reviews

3 Reviews
5 star:
 (1)
4 star:
 (1)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.0 out of 5 stars (3 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most helpful customer reviews

3.0 out of 5 stars Good on examples of the functional approach to algorithms, Oct 8 2002
This review is from: The Functional Approach to Programming (Paperback)
I have not much to add to the other two reviews.

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

Just to make it clear: I don't think it's fair to compare it with SICP, although their subjects overlap somewhat. Its vocabulary differs significantly from both SICP and the terminology used in OO and Design Patterns land. This is bad in the sense in makes it unnecessary hard to learn the basics.

However, if you haven't dealt with functional programming before, you're of course going to encounter the usual paradigm shifting problems. I now find my self thinking a whole new and rather refreshing way about programs. It does pay off, even though it certainly helped that I had read SICP and a lot of articles on the subject at first.

Even if I'm never going to use functional programming in my professional life, I've now got a better grasp of algorithms -- what, when and how to use them. It's simply easier to reason about them using the functional approach.

By the way: The english translation *is* perfect.

Should you read it? I think you should, but prepare yourself to use some time to understand new concepts if you're not familiar with the nomenclature of the functional programming community. Even though it's not easy, I still think it pays off.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4.0 out of 5 stars Great Book on Functional Programming, Jun 15 2000
By 
Brent Fulgham (Ventura, CA United States) - See all my reviews
(REAL NAME)   
This review is from: The Functional Approach to Programming (Paperback)
Functional programming requires a much different mindset than standard "procedural" languages such as C, Perl, Python, and others. This book does an excellent job of teaching the reader about these concepts.

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 http://caml.inria.fr 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.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5.0 out of 5 stars A wonderful introduction to (functional) programming, Feb 23 1999
By A Customer
I read the french edition of that book and found it to be one of the best book about (functional) programming I know. The authors first quickly introduce the CAML language (an ML variant) and then proceed with real-world examples. The reader will for example learn how to manipulate arbitrary-precision numbers, how to compile regular expressions or how to solve some common games. If you've read and liked Abelson and Sussman's "Structure and Interpretation of Computer Programs", you'll like that book too. I strongly recommend it to anybody interested in CAML or SML, or in functional programming.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
Want to see more reviews on this item?
 Go to Amazon.com to see all 4 reviews  4.2 out of 5 stars 
 
 
Only search this product's reviews



Listmania!

Create a Listmania! list

Look for similar items by category


Look for similar items by subject


Feedback


Amazon.ca Privacy Statement Amazon.ca Shipping Information Amazon.ca Returns & Exchanges