The project should consist of a term paper and an implementation in Elf.
The term paper should summarize and explain a piece of research in the
theory of programming languages or logics. Typically, the informal
development follows a given research paper or report. The Elf
implementation should formalize the language, judgments, algorithms, and
metatheory to the extent that this is feasible for a term project.
Each student should propose his or her own term project. Some topics
are suggested below, but they should not be considered as canonical or
exhaustive. For bibliographic references (under permanent
construction), please see the DVI, PostScript, or PDF version of the file, or the BibTeX source.
A calculus of explicit substitutions [Abadi, Cardelli, Curien, & Levy 91]
A calculus of objects [Abadi & Cardelli 94]
Coherence of a language with subtyping and implicit coercions [Breazu-Tannen, Coquand, Gunter, & Scedrov 91]
A lambda-calculus with intersection types [Coppo, Dezani-Ciancaglini, & Venneri 81] [Reynolds 91]