Results 1 
6 of
6
Control Categories and Duality: on the Categorical Semantics of the LambdaMu Calculus
, 1999
"... this paper, we study the relationship between the callbyname and callbyvalue paradigms for Parigot's calculus. The calculus is an extension of the simplytyped lambda calculus with certain sequential control operators. We show that, in the presence of product and disjunction types, the ca ..."
Abstract

Cited by 108 (3 self)
 Add to MetaCart
this paper, we study the relationship between the callbyname and callbyvalue paradigms for Parigot's calculus. The calculus is an extension of the simplytyped lambda calculus with certain sequential control operators. We show that, in the presence of product and disjunction types, the callbyname and callbyvalue calculi are isomorphic to each other, in the sense that there exist syntactic translations between them that preserve the operational semantics and that are mutually inverse up to isomorphism of types. These translations take the form of a
Sound and Complete Axiomatisations of CallByValue Control Operators
 Math. Structures Comput. Sci
, 1994
"... ion. Let \Gamma; x : oe ` M : ø . [[x : oe:M ]] = : (oe * ø ) * 0: (x : oe:M ) = by CApp : (x:C ø (k : ø * 0:k M )) = : (x:C ø ([[M ]])) = j oe*ø (x:C([[M ]])) which is the required expression since x:C oe ([[M ]]) is the abstraction of [[M ]] wrt. x in V. Application. Let \Gamma ` M : oe * ø ..."
Abstract

Cited by 18 (1 self)
 Add to MetaCart
(Show Context)
ion. Let \Gamma; x : oe ` M : ø . [[x : oe:M ]] = : (oe * ø ) * 0: (x : oe:M ) = by CApp : (x:C ø (k : ø * 0:k M )) = : (x:C ø ([[M ]])) = j oe*ø (x:C([[M ]])) which is the required expression since x:C oe ([[M ]]) is the abstraction of [[M ]] wrt. x in V. Application. Let \Gamma ` M : oe * ø and \Gamma ` N : oe. [[M N ]] = by definition of [[:]] : ø * 0: (M N ) = by App : ((m:m N ) M ) = by Conv :(m: (m N )) M = by BetaV :(k:k M ) (m: (m N )) = by Ass :(k:k M ) (m:(n:( (m n))) N ) = by BetaV :(k:k M ) (m:(l:l N ) (n:( (m n)))) = by definition of app. app([[M ]]; [[N ]]) Complete axiomatisations of control operators 17 A operator. Let \Gamma ` M : 0. [[A oe (M )]] = by definition : oe * 0: (A oe (M )) = by AAbs :A 0 (M ) = by A 0 Id :M = by Ident :(x : 0:x) M = by BetaV :(k:k M )(x : 0:x) = A oe ([[M ]]) C operator. If \Gamma ` M : (oe * 0) * 0 then [[C oe (M )]] = : oe * 0: C(M ) = by CNat :C 0 (k : 0 * 0:M (x : oe:k ( x))) = by 0Endo and Ident :C 0...
Control Categories and Duality: on the Categorical Semantics of the LambdaMu Calculus
, 1998
"... We give a categorical semantics to the callbyname and callbyvalue versions of Parigot’s λµcalculus with disjunction types. We introduce the class of control categories, which combine a cartesianclosed structure with a premonoidal structure in the sense of Power and Robinson. We prove, via a ca ..."
Abstract
 Add to MetaCart
(Show Context)
We give a categorical semantics to the callbyname and callbyvalue versions of Parigot’s λµcalculus with disjunction types. We introduce the class of control categories, which combine a cartesianclosed structure with a premonoidal structure in the sense of Power and Robinson. We prove, via a categorical structure theorem, that the categorical semantics is equivalent to a CPS semantics in the style of Hofmann and Streicher. We show that the callbyname λµcalculus forms an internal language for control categories, and that the callbyvalue λµcalculus forms an internal language for the dual cocontrol categories. As a corollary, we obtain a syntactic duality result: there exist syntactic translations between callbyname and callbyvalue which are mutually inverse and which preserve the operational semantics. This answers a question of Streicher and Reus. 1.
Completeness of continuation models for
"... Synopsis We show that a certain simple callbyname continuation semantics of Parigot's *_calculus is complete. More precisely, for every *_theory we construct a cartesian closed category such that the ensuing continuationstyle interpretation of *_, which maps terms to functions sending abst ..."
Abstract
 Add to MetaCart
(Show Context)
Synopsis We show that a certain simple callbyname continuation semantics of Parigot's *_calculus is complete. More precisely, for every *_theory we construct a cartesian closed category such that the ensuing continuationstyle interpretation of *_, which maps terms to functions sending abstract continuations to responses, is full and faithful. Thus, any *_category in the sense of [8] is isomorphic to a continuation model [6] derived from a cartesianclosed category of continuations. We also extend this result to a later callbyvalue version of * _ developed by Ong and Stewart [7]. 1 Introduction and Summary Parigot's *_calculus [9] is a proof term assignment system for propositional classical logic and can at the same time be considered as a prototype for a functional programming language incorporating explicit handling of continuations. The original motivation for this calculus was to give a functional interpretation for proofs in classical AF2a certain system of secondorder arithmetic [5].
Control Categories and Duality: on the Categorical Semantics of the LambdaMu Calculus
, 1998
"... We give a categorical semantics to the callbyname and callbyvalue versions of Parigot’s λµcalculus with disjunction types. We introduce the class of control categories, which combine a cartesianclosed structure with a premonoidal structure in the sense of Power and Robinson. We prove, via a ca ..."
Abstract
 Add to MetaCart
(Show Context)
We give a categorical semantics to the callbyname and callbyvalue versions of Parigot’s λµcalculus with disjunction types. We introduce the class of control categories, which combine a cartesianclosed structure with a premonoidal structure in the sense of Power and Robinson. We prove, via a categorical structure theorem, that the categorical semantics is equivalent to a CPS semantics in the style of Hofmann and Streicher. We show that the callbyname λµcalculus forms an internal language for control categories, and that the callbyvalue λµcalculus forms an internal language for the dual cocontrol categories. As a corollary, we obtain a syntactic duality result: there exist syntactic translations between callbyname and callbyvalue which are mutually inverse and which preserve the operational semantics. This answers a question of Streicher and Reus. 1.