|
ABSTRACT
We study the typing properties of CPS conversion for an extension of F&ohgr; with control operators. Two classes of evaluation strategies are considered, each with call-by-name and call-by-value variants. Under the “standard” strategies, constructor abstractions are values, and constructor applications can lead to non-trivial control effects. In contrast, the “ML-like” strategies evaluate beneath constructor abstractions, reflecting the usual interpretation of programs in languages based on implicit polymorphism. Three continuation passing style sub-languages are considered, one on which the standard strategies coincide, one on which the ML-like strategies coincide, and one on which all strategies coincide. Compositional, type-preserving CPS transformation algorithms are given for the standard strategies, resulting in terms on which all evaluation strategies coincide. This has as a corollary the soundness and termination of well-typed programs under the standard evaluation strategies. A similar result is obtained for the ML-like call-by-name strategy. In contrast, such results are obtained for the call-by-name strategy. In contrast, such results are obtained for the call-by value ML-like strategy only for a restricted sub-language in which constructor abstractions are limited to values.
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
|
M. Abadi , L. Cardelli , B. Pierce , G. Plotkin, Dynamic typing in a statically-typed language, Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.213-227, January 11-13, 1989, Austin, Texas, United States
[doi> 10.1145/75277.75296]
|
| |
2
|
|
 |
3
|
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]
|
| |
4
|
Luca Cardelli. Typeful programming. Technical Report 45, DEC SRC, 1989.
|
| |
5
|
Eric C. Cooper and I. Gregory Morrisett. Adding threads to Standard ML. Technical Report CMU-CS-90-186, School of Computer Science, Carnegie Mellon University, December 1990.
|
| |
6
|
|
| |
7
|
Luis Manuel Martins Damas. Type Assignment in Programruing Languages. PhD thesis, Edinburgh University, 1985.
|
 |
8
|
Bruce Duba , Robert Harper , David MacQueen, Typing first-class continuations in ML, Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.163-173, January 21-23, 1991, Orlando, Florida, United States
[doi> 10.1145/99583.99608]
|
| |
9
|
|
| |
10
|
Matthias Felleisen and Daniel Friedman. Control opelators, the SECD machine, and the ,X-calculus. In FormalDescription of Programming Concepts IlL North-Holland, 1986.
|
| |
11
|
Matthias FeUeisen, Daniel Friedman, Eugene Kohlbeckex; and Bruce Duba. Reasoning with continuations. In First Symposium on Logic in Computer Science. IEEE, June 1986.
|
 |
12
|
|
| |
13
|
Jean Gallier. On girard's "candidats de reductibilit6". In P. Odifreddi, editor, Logic and Computation, volume 31 of The APIC Series, pages 123-203. Academic Press, 1990.
|
| |
14
|
Jean-Yves Girard. Interpretation Fonctionelle et l~limination des Coupures dans l'Arithn~tique d'Ordre Supdrieure. PhD thesis, Universit6 Paris VII, 1972.
|
| |
15
|
Michael Gordon, Robin Milner, and Christopher Wadsworth. Edinburgh LCF: A Mechanized Logic of Computation, volume 78 of Lecture Notes in Computer Science. Springer- Verlag, 1979.
|
 |
16
|
|
| |
17
|
Timothy G. Griffin. Logical interpretations and computational simulations. Tech. memo., AT&T Bell Laboratories, 1992. in preparation.
|
| |
18
|
Robert Harper, Bruce Duba, and David MacQueen. Typing first-class continuations in ML. Revised and expandedversion of {8}. To appear, Journal of Functional Programming.
|
| |
19
|
Robert Harper and Mark LiUibridge. Polymorphic type assignment and eps conversion. In Olivier Danvy and Carolyn Talcott, editors, Proceedings of the ACM SIGPLAN Workshop on Continuations CW92, pages 13-22, Stanford, CA 94305, June 1992. Department of Computer Science, Stanford University. Published as technical report STAN-CS-92-1426.
|
 |
20
|
|
| |
21
|
|
| |
22
|
|
 |
23
|
David Kranz , Norman Adams , Richard Kelsey , Jonathan Rees , Paul Hudak , James Philbin, ORBIT: an optimizing compiler for scheme, Proceedings of the 1986 SIGPLAN symposium on Compiler construction, p.219-233, June 25-27, 1986, Palo Alto, California, United States
|
| |
24
|
Xavier leroy. Polymorphism by name. In Twentieth ACM Symposium on Principles of Programming Languages, January 1993.
|
 |
25
|
|
| |
26
|
Zhaolui Luo, Robert Pollack, and Paul Taylor. How to use lego: A preliminary user's manual. Technical Report LFCS- TN-27, Laboratory for the Foundations of Computer Science, Edinburgh University, October 1989.
|
| |
27
|
|
| |
28
|
Robin Milner. A theory of type polymorphism in programming languages.Journal of Computer~andSystemSciences, 17:348- 375, 1978.
|
| |
29
|
|
 |
30
|
|
| |
31
|
|
| |
32
|
|
 |
33
|
|
| |
34
|
|
| |
35
|
|
| |
36
|
Gordon Plotldn. Call-by-name, call-by-value, and the lambda calculus. Theoretical Computer Science, 1:125-159, 1975.
|
| |
37
|
|
 |
38
|
|
| |
39
|
|
| |
40
|
John C. Reynolds. Types, abstraction, and parametric polymorphism. In R. E. A. Mason, editor, Information Processing '83, pages 513-523. Elsevier Science Publishers B. V., 1983.
|
| |
41
|
|
| |
42
|
|
| |
43
|
Christopher Strachey and Christopher Wadsworth. A mathematical semantics for handling full jumps. Technical Report Technical Monograph PRG-11, Oxford University Computing Laboratory, 1974.
|
| |
44
|
Muds ToRe. Operational Semantics and Polymorphic Type Inference. PhD thesis, FMinburgh University, 1988. Available as Edinburgh University Laboratory for Foundations of Computer Science Technical Report ECS--LFCS-88-54.
|
| |
45
|
|
| |
46
|
Andrew K. Wright and Matthias Felleisen. A syntactic approach to type soundness. Technical Report TR91-160, Depaxtment of Computer Science, Rice University, July 1991. To appear, Information and Computation.
|
CITED BY 20
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Greg Morrisett , David Walker , Karl Crary , Neal Glew, From system F to typed assembly language, Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.85-97, January 19-21, 1998, San Diego, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Yasuhiko Minamide , Greg Morrisett , Robert Harper, Typed closure conversion, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.271-283, January 21-24, 1996, St. Petersburg Beach, Florida, United States
|
|
|
David Tarditi , Greg Morrisett , Perry Cheng , Chris Stone , Robert Harper , Peter Lee, TIL: a type-directed, optimizing compiler for ML, ACM SIGPLAN Notices, v.39 n.4, April 2004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|