On the relation between direct and continuation semantics
The use of continuations in the definition of programming languages has gained considerable currency recently, particularly in conjunction with the lattice-theoretic methods of D. Scott. Although continuations are apparently needed to provide a mathematical semantics for non-applicative control features, they are unnecessary for the definition of a purely applicative language, even when call-by-value occurs. This raises the question of the relationship between the direct and the continuation semantic functions for a purely applicative language. We give two theorems which specify this relationship and show that, in a precise sense, direct semantics are included in continuation semantics.
The heart of the problem is the construction of a relation which must be a fixed-point of a non-monotonic "relational functor." A general method is given for the construction of such relations between recursively defined domains.
KeywordsDomain Functor Relational Functor Return Address Function Pair Contravariant Functor
Unable to display preview. Download preview PDF.
- 1.Morris, L., The Next 700 Programming Language Descriptions. Unpublished.Google Scholar
- 2.Strachey,C. and Wadsworth, C. P., Continuations — A Mathematical Semantics for Handling Full Jumps. Tech. Monograph PRG-11, Programming Research Group Oxford University Computing Laboratory, January 1974.Google Scholar
- 3.Reynolds, J. C., "Definitional Interpreters for Higher-Order Programming Languages", Proc. 25th National ACM Conference, Boston, August 1972.Google Scholar
- 4.Tennent, R. D., Mathematical Semantics and Design of Programming Languages. Ph.D. Thesis, University of Toronto, October, 1973.Google Scholar
- 5.Landin, P. J., "A Correspondence Between ALGOL 60 and Church's Lambda-Notation". Comm ACM 8 (February–March 1965), 89–101 and 158–165.Google Scholar
- 6.Scott, D., "Lattice-Theoretic Models for Various Type-Free Calculi," Proc. Fourth International Congress for Logic, Methodology, and the Philosophy of Science, Bucharest (1972).Google Scholar
- 7.Naur, P., et al. Revised Report on the Algorithmic Language ALGOL 60. Comm ACM 6, 1 (January 1963), 1–17.Google Scholar
- 8.Scott, D., "Continuous Lattices," Proc. 1971 Dalhousie Conf., Springer Lecture Note Series, Springer-Verlag, Heidelberg. Also, Tech. Monograph PRG-7, Programming Research Group, Oxford University Computing Laboratory, August 1971.Google Scholar
- 9.Reynolds, J. C., "Notes on a Lattice-Theoretic Approach to the Theory of Computation", Systems and Information Science, Syracuse University, October 1972.Google Scholar