Operational Interpretations of an Extension of F-omega with Control Operators (1995)
| Venue: | Journal of Functional Programming |
| Citations: | 1 - 1 self |
BibTeX
@ARTICLE{Harper95operationalinterpretations,
author = {Robert Harper and Mark Lillibridge},
title = {Operational Interpretations of an Extension of F-omega with Control Operators},
journal = {Journal of Functional Programming},
year = {1995},
volume = {6}
}
OpenURL
Abstract
We study the operational semantics of an extension of Girard's System F-omega with two control operators: an _abort_ operation that abandons the current control context, and a _callcc_ operation that captures the current control context. Two classes of operational semantics are considered, each with a call-by-value and a call-by-name variant, differing in their treatment of polymorphic abstraction and instantiation. Under the _standard_ semantics polymorphic abstractions are values and polymorphic instantiation is a significant computation step; under the _ML-like_ semantics evaluation proceeds beneath polymorphic abstractions and polymorphic instantiation is computationally insignificant. Compositional, type-preserving continuation-passing style (cps) transformation algorithms are given for the standard semantics, resulting in terms on which all four evaluation strategies coincide. This has as a corollary the soundness and termination of well-typed programs under the standard evaluation strategies. 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. The ML-like call-by-name semantics is indistinguishable from the standard call-by-name semantics when attention is limited to complete programs.







