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 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....
|Title||:||Pearls of Functional Algorithm Design|
|Number of Pages||:||568 Pages|
|File Size||:||799 KB|
|Status||:||Available For Download|
|Last checked||:||21 Minutes ago!|
Pearls of Functional Algorithm Design Reviews
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).
I was one of those people who had learned the fundamentals of algorithms from the Programming Pearls (2nd edition) by Bentley. I have to say that since that text, many has written books about programming and algorithms in general and not one had the stuff to call it "pearl". I think this one came close to achieving the similar goal as the original one, but in the domain of functional programming. For those of you who have not read the original pearls, these books are almost like a collection of publication papers, but very well explained and throughly put into a programming environment. Another most important feature of this book (and the original pearls) is that each chapter is about a single problem that has a unique characteristic in algorithms. While most other algorithms books are organized by data structure types, these ones are focused in the category of problems. I have to say that this is the most intuitive form for people interested in algorithms.
The book's title is deceptively simple and too inviting for beginners. A better title would be, "Optimizing algorithms with equational reasoning."
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.
This book really helped me think about problem solving more efficiently. Functional programming is becoming very powerful and books like this show you why. Thanks to this book, I am now writing shorter and more methodical code. Also great for honing your Haskell skills.
I love this book. Just like Jon Bentley's Pearls books, this rather thin book is quite literally a pearl of programming wisdom. Although it's angled to the functional paradigm (Haskell, which is a pleasure as well), it makes for provocative reading given that other languages like C++ and various scripting languages are increasingly including functional programming facilities. This belongs on every computer scientist's (and software engineer's) bookshelf.
i'm not entirely finished with the "pearls" yet, but so far its interesting and fun. there is a lot of great follow-on discussion for each pearl. a welcome addition to the growing collection of quality texts dealing with haskell and functional programming.
Great book !