Richard Bird takes a radical 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.
Ideal for learning or reference, this book explains the five main principles of algorithm design and their implementation in Haskell.
This book describes data structures and data structure design techniques for functional languages.
This book introduces fundamental techniques for reasoning mathematically about functional programs. Ideal for a first- or second-year undergraduate course.
This practical book provides a comprehensive yet approachable introduction to the language, complete with syntax diagrams, examples, and exercises.
NEW to the second edition: • Doubles the tutorial material and exercises over the first edition • Provides full online support for lecturers, and a completely updated and improved website component with lecture slides, audio and video ...
MACKAY , D. J. C. , and NEAL , R. M. ( 1995 ) Good codes based for blind source separation . In ICA : Principles and Practice , ed . by S. Roberts and R. Everson . Cambridge Univ . Press . on very sparse matrices .
It shows us the essence of human thought and key to artificial intelligence. Anyone who wants to understand either needs The Book of Why.
In this eagerly anticipated revision, Clifford A. Shaffer provides a thorough and comprehensive treatment of fundamental data structures and the principles of algorithm analysis. The author focuses on teaching students...
Due to the broad range of topics covered at various levels of difficulty, this book is suitable for both beginners and more experienced readers.
Real World OCaml takes you through the concepts of the language at a brisk pace, and then helps you explore the tools and techniques that make OCaml an effective and practical tool.