School of Expression example code

This page contains the accompanying software to the School of Expression textbook by Paul Hudak. Here's the complete list of the code in the order of chapters:

  1. Problem Solving, Programming, and Calculation
  2. A Module of Shapes: Part I
  3. Simple Graphics (Snowflake)
  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 (Memoization)
  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
  25. Appendix A. Built-in Types Are Not Special
  26. Appendix B. Pattern-Matching Details

Some chapters contain incomplete code fragments and are not meant to be loaded by GHCi. These are provided as .txt files.

The remaining files are Haskell literate source code (.lhs). You may load them using the latest version of Haskell Platform. Double-click should do the loading automatically on Windows machines, otherwise you may navigate down to the directory of this document and then open the Haskell modules from there.

Update Notice (Jan 2012):