Explicit Polymorphism and CPS Conversion (1992)
Cached
Download Links
- [reports-archive.adm.cs.cmu.edu]
- [www.cs.cmu.edu]
- [www.hpl.hp.com]
- [www-cgi.cs.cmu.edu]
- [www-cgi.cs.cmu.edu]
- [reports.adm.cs.cmu.edu]
- DBLP
Other Repositories/Bibliography
| Venue: | IN TWENTIETH ACM SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES |
| Citations: | 65 - 9 self |
BibTeX
@INPROCEEDINGS{Harper92explicitpolymorphism,
author = {Robert Harper and Mark Lillibridge},
title = {Explicit Polymorphism and CPS Conversion},
booktitle = {IN TWENTIETH ACM SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES},
year = {1992},
pages = {206--219},
publisher = {ACM Press}
}
Years of Citing Articles
OpenURL
Abstract
We study the typing properties of CPS conversion for an extension of F ! 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 the 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 value ML-like strategy only for a restricted sub-language in which constructor abstractions are limited to values.







