|
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].
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
H. P. Barendregt. The Lambda Calculus: Its Syntaz and Semantics. Volume 103 of Studies in Logic and the Foundations of Mathematics, North-Holland, 1981. l~evised Edition, 1984.
|
| |
2
|
M. Felleisen. Private communication, April 22, 1988.
|
 |
3
|
|
| |
4
|
M. Felleisen, D. Friedman, E. Kohlbecker, and B. Duba. Reasoning with continuations. In Syrup. or~ Logic in Computer Science, pages 131-I41, IEEE, 1986.
|
| |
5
|
|
 |
6
|
|
| |
7
|
A. R. Meyer. Semantical paradigms. In Syrup. on Logic and Computer Science, IEEE, 1988. Appendices by Stavros Cosmadakis. To appear.
|
| |
8
|
|
| |
9
|
R. Milner. A theory of type polymorphism in programming. J. Computer and System Sci., 17:348-375, 1978.
|
| |
10
|
G. D. Plotkin. Call-by-name, call-byvalue and the lambda calculus. Theoretical Computer Science, 1:125-159, 1975.
|
| |
11
|
G. D. Plotkin. LCF considered as a programming language. Theoretical Computer Science, 5:223-256, 1977.
|
| |
12
|
G. D. Plotkin. Types and partial functions. 1984. Unpublished lecture notes.
|
 |
13
|
|
 |
14
|
|
| |
15
|
|
| |
16
|
|
 |
17
|
|
| |
18
|
R. Statman. A-definable functionals and /3r/-conversion. A rchiv Math. Logik Grundlagenforsch., 22:1-6, 1982.
|
| |
19
|
|
| |
20
|
|
| |
21
|
|
| |
22
|
J. E. Stoy. The congruence of two programming language definitions. Theoretical Computer Science, 13:151-174, 1981.
|
| |
23
|
C. Strachey and C. Wadsworth. Contin~ations: A Mathematical Semantics for Handling Full Jumps. Technical Report PRG-11, Oxford University Computing Laboratory, 1974.
|
|