So how does this look for an oral quals reading list? The idea of the list is to cover "the larger concepts and issues" of my research area, as well as to convey what I've been doing for the last two years. I've read most of them already, but "read once" is a long way from "internalized".
- From system F to typed assembly language
- An indexed model of recursive types for foundational proof-carrying code
- Contracts for higher-order functions
- Formal certification of a compiler back-end or: programming a compiler with a proof assistant
- Operational semantics for multi-language programs
- Dependent types and program equivalence
- Hybrid type checking
- Logical types for untyped languages
Oh, and:
- TaPL, like, all of it
- The first (Substructural Type Systems) and second (Dependent Types) chapters of ATTaPL
I also want to include some kind of standard reference on unification that's not specific to any particular language or system. Maybe this? I read a few things about unification last year as part of our unsuccessful FLOPS paper effort, but I never actually read Martelli and Montanari and probably ought to. Any suggestions?
Oh! And I'm going to have to know something about denotational semantics -- can anyone suggest a single standard reference for that?
Any other glaring omissions?