Continuations may be unreasonable
- 1 January 1988
- proceedings article
- Published by Association for Computing Machinery (ACM)
Abstract
We show that two lambda calculus terms can be observationally congruent (i.e., agree in all contexts) but their continuation-passing transforms may not be. We also show that two terms may be congruent in all untyped contexts but fail to be congruent in a calculus with call/cc operators. Hence, familiar reasoning about functional terms may be unsound if the terms use continuations explicitly or access them implicitly through new operators. We then examine one method of connecting terms with their continuized form, extending the work of Meyer and Wand [8].Keywords
This publication has 11 references indexed in Scilit:
- A theory of type polymorphism in programmingPublished by Elsevier ,2003
- A syntactic theory of sequential controlTheoretical Computer Science, 1987
- Revised 3 report on the algorithmic language schemeACM SIGPLAN Notices, 1986
- The congruence of two programming language definitionsTheoretical Computer Science, 1981
- Constructing Call-by-Value Continuation SemanticsJournal of the ACM, 1980
- LCF considered as a programming languageTheoretical Computer Science, 1977
- Call-by-name, call-by-value and the λ-calculusTheoretical Computer Science, 1975
- On the Relation between Direct and Continuation SemanticsPublished by Springer Nature ,1974
- Lambda calculus schemataPublished by Association for Computing Machinery (ACM) ,1972
- Definitional interpreters for higher-order programming languagesPublished by Association for Computing Machinery (ACM) ,1972