|Playlist||schedule page slides as PDF|
Expressions vs. “well-formed” expressions. You can skip this video if it seems too tedious, but it’s trying to get at what a type system is really about.
Type 2 — types (2:56)
Types as an approach to well-formedness.
Type 3 — type rules (2:50)
Type rules in the traditional, math-ish notation.
Type 4 — conditionals (2:51)
Type rules for conditionals.
Type 5 — functions (5:06)
Type rules for functions.
Type 6 — function calls (2:25)
Type rules for function calls.
An aside on type rules for multi-argument functions and funicton calls, as set-up for the homework assignment.
Type 8 — typecheck (6:47)
Implementing typecheck. See typed-lambda.rkt.
A reminder that typecheck and interp do not call each other.
Type 10 — pairs (3:29)
Type rules for pairs, as set-up for the homework assignment.