Pearls of Functional Algorithm Design and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $10.13 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading Pearls of Functional Algorithm Design on your Kindle in under a minute.

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

 

Pearls of Functional Algorithm Design [Hardcover]

Richard Bird
4.5 out of 5 stars  See all reviews (6 customer reviews)

Buy New
$51.91 & FREE Shipping. Details
Rent
$39.03 & this item ships for FREE with Super Saver Shipping. Details
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
In Stock.
Rented by RentU and Fulfilled by Amazon.
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
Kindle Edition $29.07  
Hardcover $51.91  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

November 1, 2010 0521513383 978-0521513388 1
Richard Bird takes a radically new approach to algorithm design, namely, design by calculation. These 30 short chapters each deal with a particular programming problem drawn from sources as diverse as games and puzzles, intriguing combinatorial tasks, and more familiar areas such as data compression and string matching. Each pearl starts with the statement of the problem expressed using the functional programming language Haskell, a powerful yet succinct language for capturing algorithmic ideas clearly and simply. The novel aspect of the book is that each solution is calculated from an initial formulation of the problem in Haskell by appealing to the laws of functional programming. Pearls of Functional Algorithm Design will appeal to the aspiring functional programmer, students and teachers interested in the principles of algorithm design, and anyone seeking to master the techniques of reasoning about programs in an equational style.

Frequently Bought Together

Pearls of Functional Algorithm Design + Purely Functional Data Structures + An Introduction to Functional Programming Through Lambda Calculus (Dover Books on Mathematics)
Price for all three: $110.09

Some of these items ship sooner than the others.

Buy the selected items together


Editorial Reviews

Review

"Though the writing is crisp, and the explanations lucid, this is not an easy book to read. The difficulty lies in the density of ideas presented. The rewards of persevering are definitely worth it, though. In fact, once immersed, I started to ponder where this material would lead to: which algorithms could be even further generalized, what would many of these algorithms look like if implemented in Coq or Agda, and so forth. This is the effect that all good books have on me: well-presented and well-motivated material strives to become a stepping stone to further discovery. Any serious computer scientist would benefit from reading and properly understanding this book.
Jacques Carette, Computing Reviews

Book Description

Richard Bird takes a radically new approach to algorithm design, namely, design by calculation. This unique collection of 30 programming problems draws from various sources including games and puzzles, sorting, and problems in data compression.

Product Details

  • Hardcover: 286 pages
  • Publisher: Cambridge University Press; 1 edition (November 1, 2010)
  • Language: English
  • ISBN-10: 0521513383
  • ISBN-13: 978-0521513388
  • Product Dimensions: 6.8 x 0.8 x 9.7 inches
  • Shipping Weight: 1.6 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (6 customer reviews)
  • Amazon Best Sellers Rank: #170,812 in Books (See Top 100 in Books)

More About the Author

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

Customer Reviews

4.5 out of 5 stars
(6)
4.5 out of 5 stars
Share your thoughts with other customers
Most Helpful Customer Reviews
20 of 22 people found the following review helpful
5.0 out of 5 stars A book for someone who wants to think November 25, 2010
Format:Hardcover|Amazon Verified Purchase
Bird has written a fine book, the functional analogue to Bentley's fine pieces. If there is one thing that's common to the functional attitude in program design, it's an emphasis on proof and logical consistency. Bird goes into detail and carefully shows why algorithms perform, and what their costs must be in terms of time and space complexity.
One quibble: the reader, to follow the arguments, will want to write the short code selections for himself, to check Bird's arguments; he'll find himself having to define a number of Unicode mathematical operators, like
U-2209, for example. But this isn't hard to do, in Haskell.
Each chapter is well-written, to the point, and closely argued. In showing the beauty of Haskell in a clear way, or showing the beauty of concrete maths in a clear way, Bird has done well.
Comment | 
Was this review helpful to you?
8 of 8 people found the following review helpful
2.0 out of 5 stars A Warning on the Kindle Edition February 1, 2013
Format:Kindle Edition|Amazon Verified Purchase
While this appears to be an excellent text, the author uses a number of mathematical symbols which are not rendered correctly in the Kindle edition. They are sometimes rendered with a question mark or a rectangular box. This can make the derivations difficult to follow. Since this book is also somewhat expensive for a Kindle edition, if you can afford it, you should probably go for the paper version (assuming the paper version is typeset correctly).
Was this review helpful to you?
2 of 2 people found the following review helpful
Format:Hardcover
Each chapter presents a problem, a simple approach to a solution, and then shows how that simple approach can be brought all the way to implementation, using a functional programming style. There are a few things happening in this book. The author's goal to teach you to believe in the morphing properties of functional programming. In effect, he is saying: do not optimize early, express and implement your algorithm sequentially, and you will see that the implementation can be changed (refactored) to meet performance and memory usage needs. To support this mission the book presents and implements a hodgepodge of algorithms, I say hodgepodge because they do not share a common theme. Finally, the book stays within a "first order of complexity" domain: the algorithms stay focused on the problem they are solving, there are no "higher order abstractions" (e.g. monads, arrows).

The lack of algorithmic or higher order theme of this book did bug me. And I would have been tempted to count this against it. Yet not long after having read much of this book, I was working with a list that I knew would no scale, hesitating to refactor it, I was happy leave it unchanged, feeling confident that I would be able to deal with it later. Part of that confidence was supported by the knowledge that that type of transformation is what this book does successfully, chapter after chapter.
Comment | 
Was this review helpful to you?

What Other Items Do Customers Buy After Viewing This Item?


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