Continuation semantics in typed lambda-calculi
This paper reports preliminary work on the semantics of the continuation transform. Previous work on the semantics of continuations has concentrated on untyped lambda-calculi and has used primarily the mechanism of inclusive predicates. Such predicates are easy to understand on atomic values, but they become obscure on functional values. In the case of the typed lambda-calculus, we show that such predicates can be replaced by retractions. The main theorem states that the meaning of a closed term is a retraction of the meaning of the corresponding continuationized term.
Unable to display preview. Download preview PDF.
- [Abelson & Sussman 84]Abelson, H., and Sussman, G.J. The Structure and Interpretation of Computer Programs, MIT Press, Cambridge, MA, 1985.Google Scholar
- [Hoare 72]Hoare, C.A.R., “Proving Correctness of Data Representations,” Acta Informatica 1 (1972), 271–281.Google Scholar
- [Meyer 82]Meyer, A.R. “What Is a Model of the Lambda Calculus?” Information and Control 52 (1982), 87–122.Google Scholar
- [Plotkin 75]Plotkin, G.D. “Call-by-Name, Call-by-Value and the λ-Calculus,” Theoret. Comp. Sci. 1 (1975) 125–159.Google Scholar
- [Reynolds 74]Reynolds, J.C. “On the Relation between Direct and Continuation Semantics,” Proc. 2nd Colloq. on Automata, Languages, and Programming (Saarbrucken, 1974) Springer Lecture Notes in Computer Science, Vol. 14 (Berlin: Springer, 1974) 141–156.Google Scholar
- [Sethi & Tang 80]Sethi, R. and Tang, A. “Constructing Call-by-value Continuation Semantics,” J. ACM 27 (1980), 580–597.Google Scholar
- [Stoy 81]Stoy, J.E. “The Congruence of Two Programming Language Definitions,” Theoret. Comp. Sci. 13 (1981), 151–174.Google Scholar
- [Strachey & Wadsworth 74]Strachey, C. and Wadsworth, C.P. “Continuations: A Mathematical Semantics for Handling Full Jumps,” Oxford University Computing Laboratory Technical Monograph PRG-11 (January, 1974).Google Scholar
- [Wand 84]Wand, M. “A Types-as-Sets Semantics for Milner-style Polymorphism,” Conf. Rec. 11th ACM Symp. on Principles of Programming Languages (1984), 158–164.Google Scholar