Some of the materials are behind a password. Ask the instructor for one.
Date |
Topic |
Material |
Reading |
Tue 15.1 |
Introduction |
course setup introduction |
Lämmel 1.2–1.3.2 |
Thu 17.1 |
Abstract Syntax |
slides notes code: btl-ast.cpp ast-representations.hs |
Lämmel 3–3.1.5, 4–4.1.3, 4.2–4.3 |
Tue 22.1 |
Interpreters |
notes slides code: lec04code.zip |
Lämmel 5–5.1.2 |
Thu 24.1 |
Type checking, compiling |
(compiler code is in lec04code.zip) |
Lämmel 5.2 |
Tue 29.1 |
Specifying operational semantics, structural induction |
notes slides |
Lämmel 8–8.1 |
Thu 31.1 |
Operational semantics continues (notes/slides updated) |
|
Lämmel 8.2–8.2.5.1 |
Tue 5.2 |
Class cancelled |
|
|
Thu 7.2 |
Types and type-checking |
slides |
Lämmel 9.1–9.7. |
Tue 12.2 |
Types continues, concrete syntax |
slides code: acceptor-and-parser-generator.hs (commentary) |
Lämmel 7.2–7.3.3 |
Thu 14.4 |
Concrete syntax |
ll1-parser.hs |
|
Tue 19.2 |
Parser combinators |
notes |
Lämmel 7.2.4 |
Thu 21.2 |
About monads |
slides |
|
Tue 26.2 |
About monads |
|
|
Thu 28.2 |
Lambda calculus |
slides |
Lämmel 10.1 |
Tue 5.3 |
recursion, simply typed lambda calclus |
slides fixpoint-examples |
Lämmel 10.1–10.2 |
Thu 7.3 |
No class |
|
|
Tue 12.3 |
subtyping |
slides |
Lämmel 10.4 |
Thu 14.3 |
subtyping, procedural abstraction |
slides |
|
Tue 19.3 |
No class |
|
|
Thu 21.3 |
procedural abstraction |
notes |
|
Tue 26.3 |
closures |
|
|
Thu 28.3 |
oo runtime, managing free memory |
slides (runtime structures) notes (managing memory) |
|
Tue 2.4 |
polymorphism with(out) inheritance, move semantics |
slides slides (move semantics) |
|
Thu 4.4 |
No class |
|
|
Tue 9.4 |
Evaluation contexts |
notes ec-interpreter |
|
Thu 11.4 |
Continuations |
notes continuation-examples.hs |
|
Tue 16.4 |
no class (Easter week) |
|
|
Thu 18.4 |
no class (Easter week) |
|
|
Tue 23.4 |
CPS; Ownership-based resource management |
slides |
|
Thu 25.4 |
Polymorphism |
slides |
Lämmel 10.3 |
Tue 30.4 |
No class |
|
|
Thu 2.5 |
No class |
|
|
Tue 7.5 |
Bounded parameteric polymorphism |
slides |
|
Tue 9.5 |
Existential types, wildcards |
|
|
Tue 14.5 |
Review |
review notes |
|
Thu 6.6. |
Exam |
old exam example model answers to the final exam |
|