Abstract
The use of a necessity modality in a typed λ-calculus can be used to separate it into two regions. These can be thought of as intensional vs. extensional data: data in the first region, the modal one, are available as code, and their description can be examined. In contrast, data in the second region are only available as values up to ordinary equality. This allows us to add non-functional operations at modal types whilst maintaining consistency. In this setting, the Gödel-Löb axiom acquires a novel constructive reading: it affords the programmer the possibility of a very strong kind of recursion which enables them to write programs that have access to their own code. This is a type of computational reflection that is strongly reminiscent of Kleene’s Second Recursion Theorem.
Original language | English |
---|---|
Pages (from-to) | 2287-2312 |
Journal | IfCoLoG Journal of Logics and their Applications |
Volume | 8 |
Issue number | 8 |
Publication status | Published - 1 Sept 2021 |
Research Groups and Themes
- Programming Languages