Final grades are posted in Canvas.
Please use Canvas to check your grades.
Date | Topics | Reading |
---|---|---|
01/05 | Introduction; Review | |
01/07 | Review | Class notes |
01/12 | Review | Class notes |
01/14 | Type safety with evaluations contexts | Class notes |
01/21 | Evaluation contexts | Class notes |
01/26 | Assignment 1 solutions | Class notes |
01/28 | Finally finished type safety with evaluation contexts | Class notes |
02/02 | Policy-specification languages; Pattern matching | Composing Expressive Run-time Security Policies (This is a long paper; please just get the high-level ideas and then focus on the low-level ideas presented in Section 4 and the appendices.) |
02/04 | Assignment 2 solutions | Class notes |
02/09 | Pattern matching | Class notes |
02/11 | Pattern matching | Class notes |
02/16 | Subtyping | Class notes |
02/18 | Assignment 3 solutions; Subtyping | Class notes |
02/23 | Subtyping | On Subtyping-Relation Completeness, with an Application to Iso-Recursive Types |
02/25 | Normalization; Church-Rosser Theorem; Subtyping soundness/completeness/preciseness; Induction on failing derivations | (same paper as previous class) |
03/09 | Subtyping recursive types | (same paper as previous class) |
03/11 | Assignment 4; OOPLs; Nominal vs structural types | Class notes |
03/16 | Translation of OOPLs into extended diML | Class notes |
03/18 | Type casts; Featherweight Java | Sections 1-2 of Featherweight Java: A Minimal Core Calculus for Java and GJ |
03/23 | Dynamic and hybrid (static-dynamic) typing | Class notes |
03/25 | Assignment 5 solutions | Class notes |
03/30 | More on joins and meets with recursive types | Class notes |
04/01 | Monads; Type-and-effect Systems | Class notes |
04/06 | Type-and-effect Systems; Monadic diML | Class notes |
04/08 | Polymorphism; Universal types in diML | Class notes |
04/13 | Parametricity; Existential types in diML | Class notes |
04/15 | Existential types in diML | Class notes |
04/20 | Type inference (constraint generation) | Class notes |
04/22 | Type inference (unification) | Class notes |