Lecture Notes

Some of the lectures below were presented by Jan-Willem Maessen.

LEC # Topics Files
1 Expressing Parallel Computation (PDF)
2 Implicitly Parallel Programming in pH: Functions and Types (PDF)
3 A ג - calculus: A Basis for Functional Languages (PDF)
4 A ג - calculus with Constants and Let - blocks (PDF)
5 A ג - calculus with Let - blocks (continued) (PDF)
6 The Hindley-Milner Type System (PDF)
7 The Hindley-Milner Type System (Continued) (PDF)
8 Lists and Algebraic Types (PDF)
9 Desugaring List Comprehensions and Pattern Matching (PDF)
10 Programming with Arrays (PDF)
11 I- Structures and Open Lists (PDF)
12 M- Structures: Programming with State and Nondeterminism (PDF)
13 M- Structures Continued (PDF)
14 λS: A Lambda Calculus with Side - effects (PDF)
15 Using Monads for Input and Output (PDF)
16 Using Monads to Structure Computation (PDF)
17 Bluespec - 1: A language for hardware design, simulation and synthesis (PDF)
18 Bluespec - 2: Bluespec Compilation Model & Introduction to programming (PDF)
19 Bluespec - 3: The IP Lookup Problem (PDF)
20 Bluespec - 4: Modules and Type Classes (PDF)
21 Bluespec - 5: Programming Examples (PDF)
22 Term Rewriting Systems (PDF)
23 The Confluence of the ג - calculus (PDF)

Course Info

As Taught In
Fall 2002
Learning Resource Types
grading Exams
notes Lecture Notes
group_work Projects
assignment Programming Assignments