Synopses & Reviews
Functional programming is a style of programming that emphasizes the use of functions (in contrast to object-oriented programming, which emphasizes the use of objects). It has become popular in recent years because of its simplicity, conciseness, and clarity. This textbook, aimed at beginning and advanced programmers, teaches functional programming as a way of thinking and problem solving, using Haskell, the most popular purely functional language. Rather than using the conventional (boring) mathematical examples commonly found in other programming language textbooks, this text uses examples drawn from multimedia applications, including graphics, animation, and computer music, thus rewarding the student with working programs for inherently more interesting applications.
Review
"...a rather unusual and very interesting book for the functional programming community...The author's style is wonderful, and he is good at explaining the material...This book is unique in the field of functional programming." Computing Reviews
Synopsis
Teaches functional programming using Haskell and examples drawn from multimedia applications.
Table of Contents
1. Problem solving, programming and calculation; 2. A module of shapes: part I; 3. Simple graphics; 4. Shapes II: drawing shapes; 5. Polymorphic and higher-order functions; 6. Shapes III: perimeters of shapes; 7. Trees; 8. A module of regions; 9. More about higher-order functions; 10. Drawing regions; 11. Proof by induction; 12. Qualified types; 13. A module of simple animations; 14. Programming with streams; 15. A module of reactive animations; 16. Communicating with the outside world; 17. Rendering reactive animations; 18. Higher-order types; 19. An imperative robot language; 20. Functional music composition; 21. Algebraic properties of multimedia; 22. Interpreting functional music; 23. A tour of the prelude list module; 24. A Tour of Haskellâs standard type classes.