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:
- Problem Solving, Programming, and Calculation
- A Module of Shapes: Part I
- Simple Graphics (Snowflake)
- Shapes II: Drawing Shapes
- Polymorphic and Higher-Order Functions
- Shapes III: Perimeters of Shapes
- Trees
- A Module of Regions
- More About Higher-Order Functions
- Drawing Regions
- Proof by Induction
- Qualified Types
- A Module of Simple Animations
- Programming With Streams (Memoization)
- A Module of Reactive Animations
- Communicating With the Outside World
- Rendering Reactive Animations
- Higher-Order Types
- An Imperative Robot Language
- Functional Music Composition
- Interpreting Functional Music
- From Performance to MIDI
- A Tour of the PreludeList Module
- A Tour of Haskell's Standard Type Classes
- Appendix A. Built-in Types Are Not Special
- Appendix B. Pattern-Matching Details
Some chapters contain incomplete code fragments and are not meant to
be loaded by Hugs. These are provided as .txt files.
The remaining files are Haskell literate source code (.lhs). By
clicking on any of these links, Hugs
should start up and load in the code for you.
If your web browser instead shows you the source code for the
Haskell modules, try opening this source directory
instead, and then clicking on one of the modules.
If that didn't work out either, try opening a Windows Explorer
window and navigate down to the directory of this document and then
open the Haskell modules from there.