Lectures Number Date Topic Slides 1 Wednesday, February 5 Intro to F# 334-01-lecture_2025-02-05.pdf 2 Monday, February 10 More F# 334-02-lecture_2025-02-10.pdf 3 Thursday, February 13 WCMA 334-03-lecture_2025-02-13.pdf 4 Monday, February 17 Pattern matching/algebraic data types 334-04-lecture_2025-02-17.pdf 5 Thursday, February 20 Higher-order Functions 334-05-lecture_2025-02-20.pdf 6 Monday, February 24 The dream of computation 334-06-lecture_2025-02-24.pdf 7 Thursday, February 27 Evaluation by rewriting 334-07-lecture_2025-02-27.pdf 8 Monday, March 3 More lambda calculus 334-08-lecture_2025-03-03.pdf 9 Thursday, March 6 Computability 334-09-lecture_2025-03-06.pdf 10 Monday, March 10 Proof by reduction 334-10-lecture_2025-03-10.pdf 11 Thursday, March 13 Language architecture 334-11-lecture_2025-03-13.pdf 12 Monday, April 7 Parsing 334-12-lecture_2025-04-07.pdf Railroad diagram visualizer and BraceLang BNF. Combinator.fs parser library Library.fs BraceLang parser Program.fs BraceLang frontend 13 Thursday, April 10 WCMA 2 334-13-lecture_2025-04-10.pdf 14 Monday, April 14 Program interpretation 334-14-lecture_2025-04-14.pdf Program.fs PlusLang interpreter 15 Thursday, April 17 Graphics and compilers 334-15-lecture_2025-04-17.pdf Program.fs LineLang compiler A video from a few years ago where I live code a similar language 16 Monday, April 21 Type inference 334-16-lecture_2025-04-21.pdf 17 Thursday, April 24 Variables 334-17-lecture_2025-04-24.pdf Blub: BlubAST.fs BlubEval.fs BlubParser.fs Program.fs Blub programs: 00-helloworld.blub 01-simplemath.blub 02-simplemath.blub 03-parens.blub 04-parens.blub 05-comment.blub 06-assignment.blub 07-variable.blub 08-complex.blub 09-weird-but-ok.blub 18 Monday, April 28 Scope 334-18-lecture_2025-04-28.pdf