## 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.