Date | Description |
---|---|
September 27 |
Welcome to PL, Intro to OCaml (ints, bools, variables, functions) Whiteboards Demo code Video (poor quality, no screen) |
September 29 | Canceled (James sick) |
October 2 |
Environments Demo Code |
October 4 |
Local bindings, Each-of types (tuples, lists) Demo Code |
October 6 |
Local functions, Performance, One-of types (options) Demo Code |
October 9 |
Declaring types (aliases, records), Variants, Pattern matching Demo Code |
October 11 |
Polymorphic variants, Nested patterns, Reflections on nesting, the Truth about patterns Demo Code |
October 13 |
More Nested Pattern matching, Exceptions, Tail recursion Demo Code |
October 16 |
First-class functions Demo Code |
October 18 |
Lexical scope and closures, currying Demo Code |
October 20 |
Idioms that use first-class functions, Mutation Demo Code |
October 23 |
Notions of equivalence, Modules and Signatures Demo Code |
October 25 |
Abstract types, Thunks, Promises, Streams Demo Code |
October 27 |
Implementing programming languages, Trefoil v0 Demo Code Whiteboards |
October 30 |
Tokenization, languages with flat syntax, Trefoil v1 Demo Code Whiteboards |
November 1 |
Parsing, nesting, parenthesized syntax trees Demo Code Whiteboards |
November 3 |
Trefoil v2: expressions, lexical scope Demo Code |
November 6 |
Trefoil v2: booleans, global variable bindings, pairs Demo Code |
November 8 |
Trefoil v3: first-order, second-class functions Demo Code |
November 13 |
More Trefoil v3: Implementing scope Demo Code |
November 15 |
More Trefoil v3: lists and cond Demo Code |
November 17 |
Trefoil v4: structs and pattern matching Demo Code |
November 20 |
More Trefoil v4 Demo Code |
November 27 | Guest Lecture: Effective ML by Ron Minsky from Jane Street |
November 29 |
Trefoil first-class functions Demo Code |
December 1 |
Implementing object features without meta features Demo Code |
December 4 |
Type checking Demo Code |
December 6 |
Objects Whiteboards Demo code |
December 8 |
Victory lap Whiteboards |