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 2 Feb25 Feb
2 Denotational semantics; Fixed points; Lambda calculus implementation 25 Feb18 Mar
3 Call-by-need; Encodings; Continuation-passing style translation 11 Mar25 Mar
4 Recursive types; Existential and universal types; Type Inference 25 Mar8 Apr
5 Monad Laws; Lambda-Print; Ethical Specifications (Optional: Monadic Interpreter) 8 Apr22 Apr
6 Axiomatic Semantics; Logic Programming 22 Apr29 Apr