A HOPE TUTORIAL

Roger Bailey <rb@doc.ic.ac.uk>, Imperial College

Derived from Hope homepage

  1. Introducing functional programming
    1. Functions in conventional languages
    2. Programming with functions
    3. A simple Hope example — conditionals
    4. Using functions that we've defined
    5. A more interesting example — repetition
    6. Another way of using functions
    7. Other kinds of data
  2. Data structures
    1. Tuples and lists
    2. Functions that define lists
    3. Data structures as parameters
    4. Pattern-matching
    5. Simplifying expressions
    6. Review
  3. Making functions more powerful
    1. Introducing polymorphic functions
    2. Defining your own data types
    3. Making data more abstract
  4. Functions as data
    1. Even more concise programs
    2. Common patterns of recursion
    3. Anonymous functions
    4. Functions that create new functions
  5. In conclusion