The Haskell School of Expression: Learning Functional Programming through Multimedia
Cambridge University Press
Edition: 4, 4/27/2000
EAN 9780521644082, ISBN10: 0521644089
Paperback, 382 pages, 23.4 x 17.7 x 2 cm
Language: English
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 book 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, the author uses examples drawn from multimedia applications, including graphics, animation, and computer music, thus rewarding the reader with working programs for inherently more interesting applications. Aimed at both beginning and advanced programmers, this tutorial begins with a gentle introduction to functional programming and moves rapidly on to more advanced topics. Details about progamming in Haskell are presented in boxes throughout the text so they can be easily found and referred to.
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.