Abstract
Many popular languages have a self-interpreter, that is, an interpreter for the language written in itself. So far, work on polymorphically-typed self-interpreters has concentrated on self-recognizers that merely recover a program from its representation. A larger and until now unsolved challenge is to implement a polymorphically-typed self-evaluator that evaluates the represented program and produces a representation of the result. We present Fωμi, the first λ-calculus that supports a polymorphically-typed self-evaluator. Our calculus extends Fω with recursive types and intensional type functions and has decidable type checking. Our key innovation is a novel implementation of type equality proofs that enables us to define a versatile representation of programs. Our results establish a new category of languages that can support polymorphically-typed self-evaluators.
Author supplied keywords
Cite
CITATION STYLE
Brown, M., & Palsberg, J. (2017). Typed self-evaluation via intensional type functions. ACM SIGPLAN Notices, 52(1), 415–428. https://doi.org/10.1145/3009837.3009853
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.