Results 1  10
of
41
Minimal Classical Logic and Control Operators
 In ICALP: Annual International Colloquium on Automata, Languages and Programming, volume 2719 of LNCS
, 2003
"... We give an analysis of various classical axioms and characterize a notion of minimal classical logic that enforces Peirce's law without enforcing Ex Falso Quodlibet. We show that a \natural" implementation of this logic is Parigot's classical natural deduction. ..."
Abstract

Cited by 30 (5 self)
 Add to MetaCart
We give an analysis of various classical axioms and characterize a notion of minimal classical logic that enforces Peirce's law without enforcing Ex Falso Quodlibet. We show that a \natural" implementation of this logic is Parigot's classical natural deduction.
L.: Constructing free Boolean categories
, 2005
"... By Boolean category we mean something which is to a Boolean algebra what a category is to a poset. We propose an axiomatic system for Boolean categories, which is different in several respects from the ones proposed recently. In particular everything is done from the start in a *autonomous category ..."
Abstract

Cited by 21 (6 self)
 Add to MetaCart
By Boolean category we mean something which is to a Boolean algebra what a category is to a poset. We propose an axiomatic system for Boolean categories, which is different in several respects from the ones proposed recently. In particular everything is done from the start in a *autonomous category and not in a weakly distributive one, which simplifies issues like the Mix rule. An important axiom, which is introduced later, is a “graphical ” condition, which is closely related to denotational semantics and the Geometry of Interaction. Then we show that a previously
On the unity of duality
 Special issue on “Classical Logic and Computation
, 2008
"... Most type systems are agnostic regarding the evaluation strategy for the underlying languages, with the value restriction for ML which is absent in Haskell as a notable exception. As type systems become more precise, however, detailed properties of the operational semantics may become visible becaus ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
Most type systems are agnostic regarding the evaluation strategy for the underlying languages, with the value restriction for ML which is absent in Haskell as a notable exception. As type systems become more precise, however, detailed properties of the operational semantics may become visible because properties captured by the types may be sound under one strategy but not the other. For example, intersection types distinguish between callbyname and callbyvalue functions, because the subtyping law (A → B) ∩ (A → C) ≤ A → (B ∩ C) is unsound for the latter in the presence of effects. In this paper we develop a prooftheoretic framework for analyzing the interaction of types with evaluation order, based on the notion of polarity. Polarity was discovered through linear logic, but we propose a fresh origin in Dummett’s program of justifying the logical laws through alternative verificationist or pragmatist “meaningtheories”, which include a bias towards either introduction or elimination rules. We revisit Dummett’s analysis using the tools of MartinLöf’s judgmental method, and then show how to extend it to a unified polarized logic, with Girard’s “shift ” connectives acting as intermediaries. This logic safely combines intuitionistic and dual intuitionistic reasoning principles, while simultaneously admitting a focusing interpretation for the classical sequent calculus. Then, by applying the CurryHoward isomorphism to polarized logic, we obtain a single programming language in which evaluation order is reflected at the level of types. Different logical notions correspond directly to natural programming constructs, such as patternmatching, explicit substitutions, values and callbyvalue continuations. We give examples demonstrating the expressiveness of the language and type system, and prove a basic but modular type safety result. We conclude with a brief discussion of extensions to the language with additional effects and types, and sketch the sort of explanation this can provide for operationallysensitive typing phenomena. 1
Callbyvalue is dual to callbyname, reloaded
 In Rewriting Technics and Application, RTA’05, volume 3467 of LNCS
, 2005
"... Abstract. We consider the relation of the dual calculus of Wadler (2003) to the λµcalculus of Parigot (1992). We give translations from the λµcalculus into the dual calculus and back again. The translations form an equational correspondence as defined by Sabry and Felleisen (1993). In particular, ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
Abstract. We consider the relation of the dual calculus of Wadler (2003) to the λµcalculus of Parigot (1992). We give translations from the λµcalculus into the dual calculus and back again. The translations form an equational correspondence as defined by Sabry and Felleisen (1993). In particular, translating from λµ to dual and then ‘reloading ’ from dual back into λµ yields a term equal to the original term. Composing the translations with duality on the dual calculus yields an involutive notion of duality on the λµcalculus. A previous notion of duality on the λµcalculus has been suggested by Selinger (2001), but it is not involutive. Note This paper uses color to clarify the relation of types and terms, and of source and target calculi. If the URL below is not in blue please download the color version from
Relational parametricity and control
 Logical Methods in Computer Science
"... www.lmcsonline.org ..."
Answer type polymorphism in callbyname continuation passing
 In Proc. European Symposium on Programming, Springer Lecture Notes in Comput. Sci
, 2004
"... Abstract. This paper studies continuations by means of a polymorphic type system. The traditional callbyname continuation passing style transform admits a typing in which some answer types are polymorphic, even in the presence of firstclass control operators. By building on this polymorphic typin ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
Abstract. This paper studies continuations by means of a polymorphic type system. The traditional callbyname continuation passing style transform admits a typing in which some answer types are polymorphic, even in the presence of firstclass control operators. By building on this polymorphic typing, and using parametricity reasoning, we show that the callbyname transform satisfies the etalaw, and is in fact isomorphic to the more recent CPS transform defined by Streicher. 1
2005, ‘A ProofTheoretic Foundation of Abortive Continuations (Extended version
"... Abstract. We give an analysis of various classical axioms and characterize a notion of minimal classical logic that enforces Peirce’s law without enforcing Ex Falso Quodlibet. We show that a “natural ” implementation of this logic is Parigot’s classical natural deduction. We then move on to the comp ..."
Abstract

Cited by 9 (5 self)
 Add to MetaCart
Abstract. We give an analysis of various classical axioms and characterize a notion of minimal classical logic that enforces Peirce’s law without enforcing Ex Falso Quodlibet. We show that a “natural ” implementation of this logic is Parigot’s classical natural deduction. We then move on to the computational side and emphasize that Parigot’s λµ corresponds to minimal classical logic. A continuation constant must be added to λµ to get full classical logic. The extended calculus is isomorphic to a syntactical restriction of Felleisen’s theory of control that offers a more expressive reduction semantics. This isomorphic calculus is in correspondence with a refined version of Prawitz’s natural deduction.
CallByPushValue: Decomposing CallByValue And CallByName
"... We present the callbypushvalue (CBPV) calculus, which decomposes the typed callbyvalue (CBV) and typed callbyname (CBN) paradigms into finegrain primitives. On the operational side, we give bigstep semantics and a stack machine for CBPV, which leads to a straightforward push/pop reading of ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
We present the callbypushvalue (CBPV) calculus, which decomposes the typed callbyvalue (CBV) and typed callbyname (CBN) paradigms into finegrain primitives. On the operational side, we give bigstep semantics and a stack machine for CBPV, which leads to a straightforward push/pop reading of CBPV programs. On the denotational side, we model CBPV using cpos and, more generally, using algebras for a strong monad. For storage, we present an O’Hearnstyle “behaviour semantics” that does not use a monad. We present the translations from CBN and CBV to CBPV. All these translations straightforwardly preserve denotational semantics. We also study their operational properties: simulation and full abstraction. We give an equational theory for CBPV, and show it equivalent to a categorical semantics using monads and algebras. We use this theory to formally compare CBPV to Filinski’s variant of the monadic metalanguage, as well as to Marz’s language SFPL, both of which have essentially the same type structure as CBPV. We also discuss less formally the differences between the CBPV and monadic frameworks.