|
ABSTRACT
Plotkin's &lgr;-value calculus is sound but incomplete for reasoning about &bgr;eegr;-transformations on programs in continuation-passing style (CPS). To find a complete extension, we define a new, compactifying CPS transformation and an “inverse”mapping, un-CPS, both of which are interesting in their own right. Using the new CPS transformation, we can determine the precise language of CPS terms closed under &bgr;7eegr;-transformations. Using the un-CPS transformation, we can derive a set of axioms such that every equation between source programs is provable if and only if &bgr;&eegr; can prove the corresponding equation between CPS programs. The extended calculus is equivalent to an untyped variant of Moggi's computational &lgr;-calculus.
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
|
A. W. Appel , T. Jim, Continuation-passing, closure-passing style, Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.293-302, January 11-13, 1989, Austin, Texas, United States
[doi> 10.1145/75277.75303]
|
| |
2
|
BARENDREGT, H.P. The Lambda Calculus: Its Syntaz and Semantics. Revised Edition. Studies in Logic and the Foundations of Mathematics 103. North-Holland, Amsterdam, 1984.
|
| |
3
|
|
| |
4
|
DANVY, O. Three steps for the CPS transformation. Tech. Rep. CIS-92-2. Kansas State University, 1992.
|
| |
5
|
DANVY, O. AND A. FILINSKI. Representing control: A study of the CPS transformation. Tech. Rpt. CIS-91-2. Kansas State University, 1991.
|
 |
6
|
|
| |
7
|
FELLC. ISEN, M. AND D.P. FRIEDMAN. Control operators, the SECD-machine, and the A-calculus. In Formal Description of Programming Concepts III, edited by M. Wirsing. Elsevier Science Publishers B.V. (North-Holland), Amsterdam, 1986, 193-217.
|
| |
8
|
|
| |
9
|
|
 |
10
|
|
| |
11
|
|
 |
12
|
|
 |
13
|
David Kranz , Norman Adams , Richard Kelsey , Jonathan Rees , Paul Hudak , James Philbin, ORBIT: an optimizing compiler for scheme, ACM SIGPLAN Notices, v.21 n.7, p.219-233, July 1986
|
| |
14
|
LANDIN, P.J. The mechanical evaluation of expressions. Comput. J. 6(4), 1964, 308-320.
|
| |
15
|
LEaOY, X. The Zinc experiement. Technical Report 117. iNRIA, 1990.
|
| |
16
|
|
| |
17
|
PLOTKIN, G.D. Call-by-name, call-by-value, and the A-calculus. Theor. Comput. Sci. 1, 1975, 125- 159.
|
 |
18
|
|
| |
19
|
|
| |
20
|
|
CITED BY 19
|
|
|
|
|
Xavier Leroy, Manifest types, modules, and separate compilation, Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.109-122, January 16-19, 1994, Portland, Oregon, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|