Results 11 
13 of
13
Operational Interpretations of an Extension of Fomega with Control Operators
 Journal of Functional Programming
, 1995
"... We study the operational semantics of an extension of Girard's System Fomega 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 ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We study the operational semantics of an extension of Girard's System Fomega 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 callbyvalue and a callbyname 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 _MLlike_ semantics evaluation proceeds beneath polymorphic abstractions and polymorphic instantiation is computationally insignificant. Compositional, typepreserving continuationpassing 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 welltyped programs under the standard evaluation strategies. In contrast, such results are obtained for the callby value MLlike strategy only for a restricted sublanguage in which constructor abstractions are limited to values. The MLlike callbyname semantics is indistinguishable from the standard callbyname semantics when attention is limited to complete programs.
Design of a Finite Domain Constraint Programming Library for ML
, 1999
"... Existing libraries and languages for finite domain constraint programming have backtrackingbased depthfirst search builtin as the only inference engine. Exceptions are the languages claire, which supports the programming of backtrackingbased engines, and Oz, which allows the programming of copyi ..."
Abstract
 Add to MetaCart
Existing libraries and languages for finite domain constraint programming have backtrackingbased depthfirst search builtin as the only inference engine. Exceptions are the languages claire, which supports the programming of backtrackingbased engines, and Oz, which allows the programming of copyingbased engines. This is achieved through languagespecific constructs, which precludes the transfer of programmable inference engines to conventional languages. In this paper, the design of a finite domain library for the functional language ML is presented. The combination of several design concepts allows to program backtracking as well as copyingbased engines. The design of the library is presented from first principles and provides a blueprint for a practical implementation in a functional or objectoriented setting. 1 Introduction Finite domain constraint problems are problems of assigning integer values to variables subject to arithmetic and symbolic constraints and possibly an obj...
Reasoning with Continuations III: A Complete Calculus of Control
, 1992
"... [Anybody taye in the first paragraph? Thanks!] The central result of this paper is an extension of the lambda(v)Ccalculus for a complete set of control operators and a correspondence theorem between the new theory and the lambda/beta/etacalculus. Technically, the theorem shows that the two calcul ..."
Abstract
 Add to MetaCart
[Anybody taye in the first paragraph? Thanks!] The central result of this paper is an extension of the lambda(v)Ccalculus for a complete set of control operators and a correspondence theorem between the new theory and the lambda/beta/etacalculus. Technically, the theorem shows that the two calculi prove the same equations with respect to the wellknown continuationpassing style translation (and its inverse), which is the standard tool for defining control operators via translation into a functional language. As a corollary, the calculus proves all program equivalences between terms over the pure language extended with control operators. We believe that this work has important consequences for the directstyle compilation of programming languages with control operators.