Normalization and continuation-passing-style interpretation of simply-typed call-by-need λ-calculus with control
Abstract
Ariola et al defined a call-by-need λ-calculus with control, together with a sequent calculus presentation of it. They mechanically derive from the sequent calculus presentation a continuation-passing-style transformation simulating the reduction. In this paper, we consider the simply-typed version of the calculus and prove its normalization by means of a realizability interpretation. This justifies a posteriori the design choice of the translation, and is to be contrasted with Okasaki et al. semantics which is not normalizing even in the simply-typed case. Besides, we also present a type system for the target language of the continuation-passing-style translation. Furthermore, the call-by-need calculus we present makes use of an explicit environment to lazily store and share computations. We rephrase the calculus (as well as the translation) to use De Bruijn levels as pointers to this shared environment. This has the twofold benefit of solving a problem of α-conversion in Ariola et al calculus and of unveiling an interesting bit of computational content (within the continuation-passing-style translation) related to environment extensions.
Origin | Files produced by the author(s) |
---|
Loading...