Paul HudakCambridge University PressEdition: 4, 4/27/2000EAN 9780521644082, ISBN10: 0521644089Paperback, 382 pages, 23.4 x 17.7 x 2 cmLanguage: EnglishFunctional 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 calculation2. A module of shapespart I3. Simple graphics4. Shapes IIdrawing shapes5. Polymorphic and higher-order functions6. Shapes IIIperimeters of shapes7. Trees8. A module of regions9. More about higher-order functions10. Drawing regions11. Proof by induction12. Qualified types13. A module of simple animations14. Programming with streams15. A module of reactive animations16. Communicating with the outside world17. Rendering reactive animations18. Higher-order types19. An imperative robot language20. Functional music composition21. Algebraic properties of multimedia22. Interpreting functional music23. A tour of the prelude list module24. A Tour of Haskell's standard type classes.