Results 1  10
of
35
A formulaeastypes interpretation of subtractive logic
 Journal of Logic and Computation
, 2004
"... We present a formulaeastypes interpretation of Subtractive Logic (i.e. biintuitionistic logic). This presentation is twofold: we first define a very natural restriction of the λµcalculus which is closed under reduction and whose type system is a constructive restriction of the Classical Natural ..."
Abstract

Cited by 23 (1 self)
 Add to MetaCart
We present a formulaeastypes interpretation of Subtractive Logic (i.e. biintuitionistic logic). This presentation is twofold: we first define a very natural restriction of the λµcalculus which is closed under reduction and whose type system is a constructive restriction of the Classical Natural Deduction. Then we extend this deduction system conservatively to Subtractive Logic. From a computational standpoint, the resulting calculus provides a type system for firstclass coroutines (a restricted form of firstclass continuations). Keywords: CurryHoward isomorphism, Subtractive Logic, control operators, coroutines. 1
Modal Types for Mobile Code
, 2008
"... In this dissertation I argue that modal type systems provide an elegant and practical means for controlling local resources in spatially distributed computer programs. A distributed program is one that executes in multiple physical or logical places. It usually does so because those places have loca ..."
Abstract

Cited by 19 (0 self)
 Add to MetaCart
In this dissertation I argue that modal type systems provide an elegant and practical means for controlling local resources in spatially distributed computer programs. A distributed program is one that executes in multiple physical or logical places. It usually does so because those places have local resources that can only be used in those locations. Such resources can include processing power, proximity to data, hardware, or the physical presence of a user. Programmers that write distributed applications therefore need to be able to reason about the places in which their programs will execute. This work provides an elegant and practical way to think about such programs in the form of a type system derived from modal logic. Modal logic allows for reasoning about truth from multiple simultaneous perspectives. These perspectives, called "worlds," are identified with the locations in the distributed program. This enables the programming language to be simultaneously aware of the various hosts involved in a program, their
Computation with classical sequents
 MATHEMATICAL STRUCTURES OF COMPUTER SCIENCE
, 2008
"... X is an untyped continuationstyle formal language with a typed subset which provides a CurryHoward isomorphism for a sequent calculus for implicative classical logic. X can also be viewed as a language for describing nets by composition of basic components connected by wires. These features make X ..."
Abstract

Cited by 16 (16 self)
 Add to MetaCart
X is an untyped continuationstyle formal language with a typed subset which provides a CurryHoward isomorphism for a sequent calculus for implicative classical logic. X can also be viewed as a language for describing nets by composition of basic components connected by wires. These features make X an expressive platform on which algebraic objects and many different (applicative) programming paradigms can be mapped. In this paper we will present the syntax and reduction rules for X and in order to demonstrate the expressive power of X, we will show how elaborate calculi can be embedded, like the λcalculus, Bloo and Rose’s calculus of explicit substitutions λx, Parigot’s λµ and Curien and Herbelin’s λµ ˜µ.
Continuation semantics for the Lambek–Grishin calculus
 INFORMATION AND COMPUTATION
, 2010
"... ..."
From X to π; representing the classical sequent calculus
"... Abstract. We study the πcalculus, enriched with pairing and nonblocking input, and define a notion of type assignment that uses the type constructor →. We encode the circuits of the calculus X into this variant of π, and show that all reduction (cutelimination) and assignable types are preserved. ..."
Abstract

Cited by 12 (12 self)
 Add to MetaCart
Abstract. We study the πcalculus, enriched with pairing and nonblocking input, and define a notion of type assignment that uses the type constructor →. We encode the circuits of the calculus X into this variant of π, and show that all reduction (cutelimination) and assignable types are preserved. Since X enjoys the CurryHoward isomorphism for Gentzen’s calculus LK, this implies that all proofs in LK have a representation in π.
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
Practical Foundations for Programming Languages
 In Dynamic Languages Symposium (DLS
, 2007
"... Types are the central organizing principle of the theory of programming languages. Language features are manifestations of type structure. The syntax of a language is governed by the constructs that define its types, and its semantics is determined by the interactions among those constructs. The sou ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
Types are the central organizing principle of the theory of programming languages. Language features are manifestations of type structure. The syntax of a language is governed by the constructs that define its types, and its semantics is determined by the interactions among those constructs. The soundness of a language design—the absence of illdefined programs— follows naturally. The purpose of this book is to explain this remark. A variety of programming language features are analyzed in the unifying framework of type theory. A language feature is defined by its statics, the rules governing the use of the feature in a program, and its dynamics, the rules defining how programs using this feature are to be executed. The concept of safety emerges as the coherence of the statics and the dynamics of a language. In this way we establish a foundation for the study of programming languages. But why these particular methods? Though it would require a book in itself to substantiate this assertion, the typetheoretic approach
Distributed Control Flow with Classical Modal Logic
 14TH ANNUAL CONFERENCE OF THE EUROPEAN ASSOCIATION FOR COMPUTER SCIENCE LOGIC (CSL 2005), LECTURE NOTES IN COMPUTER SCIENCE
, 2005
"... In previous work we presented a foundational calculus for spatially distributed computing based on intuitionistic modal logic. Through the modalities # and # we were able to capture two key invariants: the mobility of portable code and the locality of fixed resources. This work ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
In previous work we presented a foundational calculus for spatially distributed computing based on intuitionistic modal logic. Through the modalities # and # we were able to capture two key invariants: the mobility of portable code and the locality of fixed resources. This work
Categorical Proof Theory of Classical Propositional Calculus
, 2005
"... We investigate semantics for classical proof based on the sequent calculus. We show that the propositional connectives are not quite wellbehaved from a traditional categorical perspective, and give a more refined, but necessarily complex, analysis of how connectives may be characterised abstractly. ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
We investigate semantics for classical proof based on the sequent calculus. We show that the propositional connectives are not quite wellbehaved from a traditional categorical perspective, and give a more refined, but necessarily complex, analysis of how connectives may be characterised abstractly. Finally we explain the consequences of insisting on more familiar categorical behaviour.
Reduction in X does not agree with Intersection and Union Types
, 2008
"... This paper defines intersection and union type assignment for the calculus X, a substitution free language that enjoys the CurryHoward correspondence with respect to Gentzen’s sequent calculus for classical logic. We show that this notion is the minimal one closed for subjectexpansion, and show th ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
This paper defines intersection and union type assignment for the calculus X, a substitution free language that enjoys the CurryHoward correspondence with respect to Gentzen’s sequent calculus for classical logic. We show that this notion is the minimal one closed for subjectexpansion, and show that it needs to be restricted to satisfy subjectreduction as well, making it unsuitable to define a semantics.