This page will contain info about the assignments, as they are released. See the schedule for information about when future assignments will be released.

You can download the assignments from Canvas. Submit your assignments via Gradescope.

LaTeX: If you are interested in typesetting your assignments using LaTeX, there are many tutorials and introductions. We will provide some LaTeX files for you to use to write your homeworks.

AssignmentAssignedDue
1 Operational semantics; induction 4 Feb24 Feb
2 Denotational semantics; Fixed points; Lambda calculus implementation 24 Feb5 Mar
3 Call-by-need; Encodings; Continuation-passing style translation 10 Mar31 Mar
4 Recursive types; Existential and universal types; Type Inference 31 Mar14 Apr
5 Monad Laws; Lambda-Print; (Optional: Monadic Interpreter) 14 Apr23 Apr
6 Axiomatic Semantics; Logic Programming 21 Apr28 Apr