7400: iPPL (Fall 2024)
Schedule
The course schedule is in progress and subject to change.
Date |
Lecture Notes |
Additional Reading |
Code |
Due |
|
Thu | Sep | 5 |
Overview |
|
|
|
|
Mon | Sep | 9 |
Hutton's
Razor |
PFPL Chapter 5,7
|
Hutton.agda
|
|
Thu | Sep | 12 |
Binding
and Hypothetical Judgments |
PFPL 3,4,5 |
Binding.agda |
Course Intake
Survey |
|
Mon | Sep | 16 |
Structural and
Rule Induction |
PFPL 1 |
RuleInduction.agda |
|
Thu | Sep | 19 |
Type
Soundness |
PFPL 6 |
|
|
|
Mon | Sep | 23 |
Type
Soundness, Continued |
PFPL 6 |
|
|
Thu | Sep | 26 |
Simply-Typed
Lambda Calculus |
PFPL 8,10,11
|
|
|
|
Mon | Sep | 30 |
Type Isomorphisms and Program Equivalence |
Frank
Pfenning on Sum Types |
|
|
Thu | Oct | 3 |
Type
Isomorphisms and Program Equivalence (Continued) |
Frank
Pfenning on Sum Types |
|
|
Fri | Oct | 4 |
|
|
|
Assignment 1 |
|
Mon | Oct | 7 |
Propositions
as Types (Part 1) |
Frank Pfenning on Natural
Deduction PFPL 12 |
|
|
Thu | Oct | 10 |
Propositions
as Types (Part 2)
Recursive Functions (System T), intro |
PFPL 9 |
|
|
|
Mon | Oct | 14 |
No Class (Indigenous Peoples' Day) |
|
|
|
Thu | Oct | 17 |
Recursive
Functions (Systems T and PCF) |
PFPL 9,19 |
|
|
|
Mon | Oct | 21 |
Recursion via
Fixed Points (PCF) |
PFPL 19 |
|
Assignment 2 |
Thu | Oct | 24 |
Recursive
Types |
PFPL 20
Frank
Pfenning on Recursive Types
|
|
|
|
Mon | Oct | 28 |
Polymorphic
Abstraction (System F) |
PFPL 16 |
|
|
Thu | Oct | 31 |
System
F, Continued |
PFPL 16 Frank
Pfenning on Polymorphism |
|
|
|
Mon | Nov | 4 |
Parametricity I: Theorems for Free! |
Theorems for Free!,
Phil Wadler |
|
|
Thu | Nov | 7 |
Parametricity
II |
Frank
Pfenning on Parametricity
PFPL 48
|
|
|
Fri | Nov | 8 |
|
|
|
Assignment 3
|
|
Mon | Nov | 11 |
No Class (Veterans Day) |
|
|
|
Thu | Nov | 14 |
Control Stacks |
PFPL 28, 29 Frank
Pfenning on the K Machine |
|
|
|
Mon | Nov | 18 |
Call by Push
Value |
|
|
|
Thu | Nov | 21 |
Mutable State |
|
|
|
Fri | Nov | 22 |
|
|
|
Assignment 4
|
|
Mon | Nov | 25 |
Linearity |
Frank
Pfenning on Linear Types
|
|
|
Thu | Nov | 28 |
No Class (Fall Break) |
|
|
|
|
Mon | Dec | 2 |
Mechanizing
Metatheory I |
|
IPPL.agda |
|
Thu | Dec | 5 |
Mechanizing Metatheory II |
|
|
|
|
Mon | Dec | 9 |
Project Presentations |
|
|
Final Mini-Projects |
Thu | Dec | 12 |
Project Presentations (Last day of class) |
|
|
|
|
Mon | Dec | 16 |
|
|
|
Final Grades |
Thu | Dec | 19 |
|
|
|
|
|
|