*** New Book Announcement *** The Haskell School of Expression: Learning Functional Programming through Multimedia by Paul Hudak, Yale University Cambridge Univ Press, 363 pages Paperback - ISBN: 0521644089 Hardcover - ISBN: 0521643384 Available January 2000. Book Description ---------------- 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 (mundane) mathematical examples commonly found in other programming language textbooks, this text uses examples drawn from multimedia applications, including graphics, animation, computer music, and simulated robotics, thus rewarding the student with working programs for inherently more interesting applications. An underlying theme is the design and implementation of domain specific languages, using three examples: FAL (a Functional Animation Language), IRL (an Imperative Robot Language), and MDL (a Music Description Language). Ordering Information -------------------- You can order it now from, for example, amazon.com, who will ship it to you when it arrives. If you need copies for a spring-term course, please contact Lauren Cowles at [EMAIL PROTECTED], who can help expedite your order. Chapter Titles -------------- 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. Interpreting Functional Music 22. From Performance to MIDI 23. A Tour of the PreludeList Module 24. A Tour of Haskell's Standard Type Classes
