Enjoy fast, free delivery, exclusive deals, and award-winning movies & TV shows with Prime
Try Prime
and start saving today with fast, free delivery
Amazon Prime includes:
Fast, FREE Delivery is available to Prime members. To join, select "Try Amazon Prime and start saving today with Fast, FREE Delivery" below the Add to Cart button.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited Free Two-Day Delivery
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
- Unlimited photo storage with anywhere access
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
$71.99$71.99
Ships from: Amazon.com Sold by: Amazon.com
$45.00$45.00
Ships from: Amazon Sold by: Tysons Library Friends
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
OK
Pearls of Functional Algorithm Design Illustrated Edition
Purchase options and add-ons
- ISBN-100521513383
- ISBN-13978-0521513388
- EditionIllustrated
- PublisherCambridge University Press
- Publication dateNovember 1, 2010
- LanguageEnglish
- Dimensions7.25 x 0.75 x 10.25 inches
- Print length290 pages
Frequently bought together
Customers who viewed this item also viewed
Editorial Reviews
Review
Jacques Carette, Computing Reviews
Book Description
About the Author
Product details
- Publisher : Cambridge University Press; Illustrated edition (November 1, 2010)
- Language : English
- Hardcover : 290 pages
- ISBN-10 : 0521513383
- ISBN-13 : 978-0521513388
- Item Weight : 1.61 pounds
- Dimensions : 7.25 x 0.75 x 10.25 inches
- Best Sellers Rank: #949,579 in Books (See Top 100 in Books)
- #79 in Functional Software Programming
- #2,855 in Programming Languages (Books)
- #35,986 in Unknown
- Customer Reviews:
About the author
Discover more of the author’s books, see similar authors, read author blogs and more
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Haskell is a perfect choice of language. However, I don't think this book is just for Haskell programmers. Some of most intriguing problems are covered in very good structure. My favorites are the coverage of saddleback search, last tail, raking suffixes and nexuses. All others topics are really well done, but these were the topics that I had hard time googling for a good explanation. Great work.
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.
In this book, a "pearl" means starting with a brute force algorithm, then incrementally rewriting it into an efficient algorithm. Incrementally improving an algorithm sounds intriguing. In practice, the book just starts swapping out parts of the algorithm, accompanied by long descriptions of why it does not change the function's specification. Rarely does the book give reasoning about why the change is being made. After reading several of these pearls, my thought process does not jive with this style. I suspect the author actually wrote the final efficient algorithm first, then the brute force algorithm, and finally went back and crafted intermediate steps.
The book has many mistakes in it. Some are simply typos that most readers won't notice. Some mistakes invalidate multiple paragraphs in the proofs. Other times the book simply omits important details. For example, I spent an hour deciphering what the "building a tree with minimum height" algorithm did, but I was not convinced that the algorithm worked. I spent 2 days correcting a part of the proof that was wrong and filling in another important part that the book omitted, before I really believed that the algorithm worked.
A published errata could patch up those problems. However, there is no errata on the publisher's website. Nor can I find any way to contact Richard Bird and ask him to start one.
I've only read the first 8 pearls, but so far the problems those algorithms solve are definitely esoteric. Having worked 11 years as a professional developer, I have never come across any of those problems on the job or even as interview questions.
All that said, reading the book is still improving my functional programming.
Top reviews from other countries
Aber ich möchte zu Beginn sagen was man in diesem Buch nicht findet:
- Mit Sicherheit keine Einführung in Haskell
- Kein thematisch sortiertes Buch mit dem man sich die Grundlagen des Designs von
Algorithmen beibringen kann
Was man bekommt:
- Das Buch ist eine Sammlung von Problemstellungen die in einer sehr dichten und anspruchsvollen
Art und Weise gelöst werden
- Ein Buch das einen wirklich zwingt sehr genau über Dinge nachzudenken
Ich kann nur betonen, dass das Buch wirklich nicht trivial ist. Um ein Kapitel, das heisst ein Problem,
durch zuarbeiten nehme ich mir schon mal einen ganzen Tag.
Dies liegt zum einen daran, dass zunächst einmal das Problem zu verstehen ist, dann die zugrunde liegende
Lösung durch den Haskell Algorithmus und zu guter Letzt, meines erachten der schwierigste Teil, die
theoretische Rechtfertigung für die einzelnen Zwischenschritte.
Diese Zwischenschritte werden dargelegt in einer mathematischen Beweisführung, dargelegt in Haskell selbst.
Abschliessend kann ich sagen dieses Buch ist für die Leute die wirklich Spass am Grübeln haben und ein Buch
suchen das sie zum Beispiel abends als anspruchsvolle Alternative zum Fernsehen lesen wollen.
Die Tatsache das jedes der Kapitel unabhängig ist erlaubt es einem nach belieben in dem Buch herum zu
springen oder es auch mal für eine Woche beiseite zu legen.