Cambridge Programming Research Group
CPRG Research Students' Lecture Series, May 2010
Given as part of the Research Students' Lectures 2009-10 course.
Introduction
Lecture 1: Modularity: What, why, and how, Stephen Kell
Lecture 2: Meta Programming and You, Robin Message
Leture 3: Mathematically Structuring Programming Langages, Dominic Orchard
This lecture was repeated in November 2010 for the Research Students' Lectures 2010-2011
- Lecture notes (updated 14/05/10)
- Lecture slides (updated 25/11/10)
- Examples (all examples can be run with GHC Haskell, e.g. ghci example1.lhs):
- Example 1: Simple arithmetic language, E
- Example 2: E with div exceptions
- Example 3: E with exceptions, no abstraction
- Example 4: E with abstracted exceptions
- Example 5: E with exception monad
- Example 6: E with exception monad (in terms of join and functor map)
- Example 7: E with exception monad as Haskell Monad instance for do notation
