Results 1 
8 of
8
The theory of calculi with explicit substitutions revisited
 CSL 2007
, 2007
"... Calculi with explicit substitutions (ES) are widely used in different areas of computer science. Complex systems with ES were developed these last 15 years to capture the good computational behaviour of the original systems (with metalevel substitutions) they were implementing. In this paper we fi ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
(Show Context)
Calculi with explicit substitutions (ES) are widely used in different areas of computer science. Complex systems with ES were developed these last 15 years to capture the good computational behaviour of the original systems (with metalevel substitutions) they were implementing. In this paper we first survey previous work in the domain by pointing out the motivations and challenges that guided the development of such calculi. Then we use very simple technology to establish a general theory of explicit substitutions for the lambdacalculus which enjoys fundamental properties such as simulation of onestep betareduction, confluence on metaterms, preservation of betastrong normalisation, strong normalisation of typed terms and full composition. The calculus also admits a natural translation into Linear Logic’s proofnets.
A Theory of Explicit Substitutions with Safe and Full Composition
 Logical Methods in Computer Science
"... Vol. 5 (3:1) 2009, pp. 1–29 ..."
MultiStage Imperative Languages: A Conservative Extension Result
 In [41] (2000
, 2000
"... This paper extends the recent work [CMT00] on the operational semantics and type system for a core language, called MiniML ref , which exploits the notion of closed type (see also [MTBS99]) to safely combine imperative and multistage programming. The main novelties are the identification of a larg ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
This paper extends the recent work [CMT00] on the operational semantics and type system for a core language, called MiniML ref , which exploits the notion of closed type (see also [MTBS99]) to safely combine imperative and multistage programming. The main novelties are the identification of a larger set of closed types and the addition of a binder for useless variables. The resulting language is a conservative extension of MiniML ref , a simple imperative subset of SML. 1
Resource operators for λcalculus
 INFORM. AND COMPUT
, 2007
"... We present a simple term calculus with an explicit control of erasure and duplication of substitutions, enjoying a sound and complete correspondence with the intuitionistic fragment of Linear Logic’s proofnets. We show the operational behaviour of the calculus and some of its fundamental properties ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
We present a simple term calculus with an explicit control of erasure and duplication of substitutions, enjoying a sound and complete correspondence with the intuitionistic fragment of Linear Logic’s proofnets. We show the operational behaviour of the calculus and some of its fundamental properties such as confluence, preservation of strong normalisation, strong normalisation of simplytyped terms, step by step simulation of βreduction and full composition.
SHARING IN THE WEAK LAMBDACALCULUS REVISITED
"... Abstract. In a previous paper [2] which appeared in the volume celebrating Klop’s 60th anniversary, we presented a labeled lambdacalculus to characterize the dag implementation of the weak lambdacalculus as described in Wadsworth’s dissertation [11]. In this paper, we simplify this calculus and pr ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
(Show Context)
Abstract. In a previous paper [2] which appeared in the volume celebrating Klop’s 60th anniversary, we presented a labeled lambdacalculus to characterize the dag implementation of the weak lambdacalculus as described in Wadsworth’s dissertation [11]. In this paper, we simplify this calculus and present a simpler proof of the sharing property which allows the dag implementation. In order to avoid duplication of presentations, we mainly show here the modifications brought to the weak labeled lambdacalculus in [2]. The reader is therefore recommended to read first the companion article and later read our present paper. We are happy that this note can therefore be considered as establishing a new bridge between two friends and now senior colleagues, Jan Willem Klop and Henk
1System F with Coercion Constraints
"... Abstract — We present a secondorder λcalculus with coercion constraints that generalizes a previous extension of System F with parametric coercion abstractions [1] by allowing multiple but simultaneous type and coercion abstractions, as well as recursive coercions and equirecursive types. This al ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract — We present a secondorder λcalculus with coercion constraints that generalizes a previous extension of System F with parametric coercion abstractions [1] by allowing multiple but simultaneous type and coercion abstractions, as well as recursive coercions and equirecursive types. This allows to present in a uniform way several type system features that had previously been studied separately: type containment, bounded and instancebounded polymorphism, which are already encodable with parametric coercion abstraction, and MLstyle subtyping constraints. Our framework allows for a clear separation of language constructs with and without computational content. We also distinguish coherent coercions that are fully erasable from potentially incoherent coercions that suspend the evaluation— and enable the encoding of GADTs. Technically, type coercions that witness subtyping relations between types are replaced by a more expressive notion of typing coercions that witness subsumption relations between typings, e.g. pairs composed of a typing environment and a type. Our calculus is equipped with a strong notion of reduction that allows reduction under abstractions—but we also introduce a form of weak reduction as reduction cannot proceed under incoherent type abstractions. Type soundness is proved by adapting the stepindexed semantics technique to strong reduction strategies, moving indices inside terms so as to control the reduction steps internally—but this is only detailed in the extended version. I.
System F with Coercion Constraints
"... We present a secondorder λcalculus with coercion constraints that generalizes a previous extension of System F with parametric coercion abstractions by allowing multiple but simultaneous type and coercion abstractions, as well as recursive coercions and equirecursive types. This enables a unifor ..."
Abstract
 Add to MetaCart
(Show Context)
We present a secondorder λcalculus with coercion constraints that generalizes a previous extension of System F with parametric coercion abstractions by allowing multiple but simultaneous type and coercion abstractions, as well as recursive coercions and equirecursive types. This enables a uniform presentation of several type system features that had previously been studied separately: type containment, bounded and instancebounded polymorphism, which are already encodable with parametric coercion abstraction, and MLstyle subtyping constraints. Our framework allows for a clear separation of language constructs with and without computational content. We also distinguish coherent coercions that are fully erasable from potentially incoherent coercions that suspend the evaluation—and enable the encoding of GADTs. Technically, type coercions that witness subtyping relations between types are replaced by a more expressive notion of typing coercions that witness subsumption relations between typings, e.g. pairs composed of a typing environment and a type. Our calculus is equipped with full reduction that allows reduction under abstractions—but we also introduce a form of weak reduction as reduction cannot proceed under incoherent type abstractions. Type soundness is proved by adapting the stepindexed semantics technique to full reduction, moving indices inside terms so as to control the reduction steps internally—but this is only detailed in the extended version.
A Semantics for Propositions as Sessions
"... Abstract. Session types provide a static guarantee that concurrent programs respect communication protocols. Recently, Caires, Pfenning, and Toninho, and Wadler, have developed a correspondence between propositions of linear logic and session typed picalculus processes. We relate the cuteliminat ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. Session types provide a static guarantee that concurrent programs respect communication protocols. Recently, Caires, Pfenning, and Toninho, and Wadler, have developed a correspondence between propositions of linear logic and session typed picalculus processes. We relate the cutelimination semantics of this approach to an operational semantics for sessiontyped concurrency in a functional language. We begin by presenting a variant of Wadler’s sessiontyped core functional language, GV. We give a smallstep operational semantics for GV. We develop a suitable notion of deadlock, based on existing approaches for capturing deadlock in picalculus, and show that all welltyped GV programs are deadlockfree, deterministic, and terminating. We relate GV to linear logic by giving translations between GV and CP, a process calculus with a type system and semantics based on classical linear logic. We prove that both directions of our translation preserve reduction; previous translations from GV to CP, in contrast, failed to preserve βreduction. Furthermore, to demonstrate the modularity of our approach, we define two extensions of GV which preserve deadlockfreedom, determinism, and termination. 1