Topics:
-
A Buffet of Type Systems
- polymorphism (System F)
- subtyping and bounded quantification (F-sub)
- existential types and the avoidance problem
- type operators (F-omega and F-omega-sub)
- recursive types
- linear types
- static and dynamic information flow
- the dependency core calculus
- noninterference proofs
- declassification and intransitive noninterference
- information flow in concurrent languages
- practical language designs (JIF, Fabric, Laminar, Breeze, ...)
Participation:
- For those taking the class for credit, grading will be based on:
- class participation
- homework problem sets
- a major project (solo or in groups of two)
Schedule:
Date | Topic | Reading | Homework |
Sep. 7 | Overview and introductions; System F | TAPL chapter 23 | |
Sep. 12 | System F | hw1.tar.gz; instructions (due 9/19) | |
Sep. 14 | Metatheory of System F (with deBruijn indices) | ||
Sep. 19 | (continued) | ||
Sep. 21 | Theory of observational equivalence | Chapter 49 of Bob Harper's draft textbook | hw2.txt (due 9/26) |
Sep. 26 | (continued) | ||
Sep. 28 | parametricity | Chapter 51 of Harper | hw3.txt (first part); due Oct 19 |
Oct 5 | (continued) | ||
Oct 3 | (continued) | ||
Oct 10 | (no lecture -- fall break) | ||
Oct 12 | Dependent types (Chris Casinghino, guest lecturer) | ||
Oct 17 | Subtyping | Chapters 26 and 28 of TAPL | |
Oct 19 | (continued) | ||
Oct 24 | (continued) | ||
Oct 26 | (continued) | hw4.txt (due Nov 2) |