Results 1 - 10
of
11
The Barendregt Cube with Definitions and Generalised Reduction
, 1997
"... In this paper, we propose to extend the Barendregt Cube by generalising reduction and by adding definition mechanisms. We show that this extension satisfies all the original properties of the Cube including Church Rosser, Subject Reduction and Strong Normalisation. Keywords: Generalised Reduction, ..."
Abstract
-
Cited by 29 (14 self)
- Add to MetaCart
In this paper, we propose to extend the Barendregt Cube by generalising reduction and by adding definition mechanisms. We show that this extension satisfies all the original properties of the Cube including Church Rosser, Subject Reduction and Strong Normalisation. Keywords: Generalised Reduction, Definitions, Barendregt Cube, Church Rosser, Subject Reduction, Strong Normalisation. Contents 1 Introduction 3 1.1 Why generalised reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Why definition mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 The item notation for definitions and generalised reduction . . . . . . . . . . 4 2 The item notation 7 3 The ordinary typing relation and its properties 10 3.1 The typing relation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 Properties of the ordinary typing relation . . . . . . . . . . . . . . . . . . . . 13 4 Generalising reduction in the Cube 15 4.1 The generalised...
Call-by-Name, Call-by-Value, Call-by-Need, and the Linear Lambda Calculus
, 1994
"... Girard described two translations of intuitionistic logic into linear logic, one where A -> B maps to (!A) -o B, and another where it maps to !(A -o B). We detail the action of these translations on terms, and show that the first corresponds to a call-by-name calculus, while the second corresponds t ..."
Abstract
-
Cited by 26 (5 self)
- Add to MetaCart
Girard described two translations of intuitionistic logic into linear logic, one where A -> B maps to (!A) -o B, and another where it maps to !(A -o B). We detail the action of these translations on terms, and show that the first corresponds to a call-by-name calculus, while the second corresponds to call-by-value. We further show that if the target of the translation is taken to be an affine calculus, where ! controls contraction but weakening is allowed everywhere, then the second translation corresponds to a call-by-need calculus, as recently defined by Ariola, Felleisen, Maraist, Odersky, and Wadler. Thus the different calling mechanisms can be explained in terms of logical translations, bringing them into the scope of the Curry-Howard isomorphism.
A reduction relation for which postponement of K-contractions, Conservation and Preservation of Strong Normalisation hold
- Univ. of Glasgow, Glasgow
, 1996
"... Postponement of fi K -contractions and the conservation theorem do not hold for ordinary fi but have been established by de Groote for a mixture of fi with another reduction relation. In this paper, de Groote's results are generalised for a single reduction relation fi e which generalises fi. This ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
Postponement of fi K -contractions and the conservation theorem do not hold for ordinary fi but have been established by de Groote for a mixture of fi with another reduction relation. In this paper, de Groote's results are generalised for a single reduction relation fi e which generalises fi. This then is used to solve an open problem of fi e : the Preservation of Strong Normalisation 1 . Keywords: Generalised fi-reduction, Postponement of K-contractions, Generalised Conservation, Preservation of Strong Normalisation. 1 Introduction 1.1 Background and Motivation In the term (( x : y :N)P )Q, the function starting with x and the argument P result in the redex ( x : y :N)P . It is also the case that the function starting with y and the argument Q will result in another redex when the first redex is contracted. This idea has been exploited by many researchers and reduction has been extended so that the generalised redex based on the matching y and Q is given the same priority a...
lambdaS: an implicitly parallel lambda-calculus with recursive bindings, synchronization and side effects
"... S extends the -calculus with recursive bindings, barriers, and updatable memory cells with synchronized operations. The calculus can express both deterministic and nondeterministic computations. It is designed to be useful for reasoning about compiler optimizations and thus allows reductions anywher ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
S extends the -calculus with recursive bindings, barriers, and updatable memory cells with synchronized operations. The calculus can express both deterministic and nondeterministic computations. It is designed to be useful for reasoning about compiler optimizations and thus allows reductions anywhere, even inside 's. Despite the presence of side effects, the calculus retains fine-grained, implicit parallelism and non-strict functions: there is no global, sequentializing store. Barriers, for sequencing, capture a robust notion of termination. Although S was developed as a foundation for the parallel functional languages pH and Id, we believe that barriers give it wider applicability---to sequential, explicitly parallel and concurrent languages. In this paper we describe the S -calculus and its properties, based on a notion of observable information in a term. We also describe reduction strategies to compute maximal observable information even in the presence of unbounded nondeterminis...
Reviewing the classical and the de Bruijn notation for λ-calculus and pure type systems
- Logic and Computation
, 2001
"... This article is a brief review of the type free λ-calculus and its basic rewriting notions, and of the pure type system framework which generalises many type systems. Both the type free λ-calculus and the pure type systems are presented using variable names and de Bruijn indices. Using the presentat ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
This article is a brief review of the type free λ-calculus and its basic rewriting notions, and of the pure type system framework which generalises many type systems. Both the type free λ-calculus and the pure type systems are presented using variable names and de Bruijn indices. Using the presentation of the λ-calculus with de Bruijn indices, we illustrate how a calculus of explicit substitutions can be obtained. In addition, de Bruijn's notation for the λ-calculus is introduced and some of its advantages are outlined.
Debugging Reactive Systems in Haskell
- In Haskell Workshop
, 1997
"... We support the use of Haskell in two classes of applications. First, we note that although Haskell is well-suited for stream-oriented applications, like reactive systems, most implementations lack tools for locating subtle errors like deadlocks. To support the use of Haskell in such applications, we ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We support the use of Haskell in two classes of applications. First, we note that although Haskell is well-suited for stream-oriented applications, like reactive systems, most implementations lack tools for locating subtle errors like deadlocks. To support the use of Haskell in such applications, we have designed and implemented a debugger with an intuitive graphical interface. The debugger simplifies the task of locating deadlocks by providing users with a mostly declarative view of programs as systems of recursive equations over streams. Second, we investigate the use of Haskell in the implementation of the debugger. As expected, this effort requires a variant of Haskell, currently used in the intermediate phases of Haskell compilers, that combines call-by-need semantics with computational effects. To support robust programming in this system-oriented variant, we formalize the semantics of handleable exceptions in a call-by-need language. 1 Streams and Deadlocks As Kahn showed in ...
The Lambda-Cube With Classes Which Approximate Reductional Equivalence
, 1995
"... We study lambda calculus and refine the notions of fi-reduction and fi-equality. In particular, we define the operation TS (term reshuffling) on -terms which reshuffles a term in such a way that more redexes become visible. Two terms are called shuffleequivalent if they have syntactically equivalent ..."
Abstract
- Add to MetaCart
We study lambda calculus and refine the notions of fi-reduction and fi-equality. In particular, we define the operation TS (term reshuffling) on -terms which reshuffles a term in such a way that more redexes become visible. Two terms are called shuffleequivalent if they have syntactically equivalent TS-images. The shuffle-equivalence classes are shown to divide the classes of fi-equal terms into smaller classes consisting of terms with similar reduction behaviour. The refinement of fi-reduction from a relation on terms to a relation on shuffle classes, called shuffle-reduction, allows one to make more redexes visible and to contract these newly visible redexes. This enables one to have more freedom in choosing the reduction path of a term, which can result in smaller terms along the reduction path if a clever reduction strategy is used. Moreover, this gain in reductional breadth is not at the expense of reductional length. We show that the -cube of [Barendregt 92] extended with shuffle...
Generalized Beta-Reduction and Explicit Substitutions
, 1996
"... Extending the -calculus with either explicit substitution or generalised reduction has been the subject of extensive research recently which still has many open problems. Due to this reason, the properties of a calculus combining both generalised reduction and explicit substitutions have never been ..."
Abstract
- Add to MetaCart
Extending the -calculus with either explicit substitution or generalised reduction has been the subject of extensive research recently which still has many open problems. Due to this reason, the properties of a calculus combining both generalised reduction and explicit substitutions have never been studied. This paper presents such a calculus sg and shows that it is a desirable extension of the -calculus. In particular, we show that sg preserves strong normalisation, is sound and it simulates classical fi-reduction. Furthermore, we study the simply typed -calculus extended with both generalised reduction and explicit substitution and show that well-typed terms are strongly normalising and that other properties such as subtyping and subject reduction hold. 1 Introduction 1.1 The -calculus with generalised reduction In (( x : y :N)P )Q, the function starting with x and the argument P result in the redex ( x : y :N)P which when contracted will turn the function starting with y and Q i...
Postponement, Conservation and Preservation of Strong Normalisation for Generalised Reduction
"... Postponement of K -contractions and the conservation theorem do not hold for ordinary but have been established by de Groote for a mixture of with another reduction relation. In this paper, de Groote's results are generalised for a single reduction relation e which generalises . We show morever, t ..."
Abstract
- Add to MetaCart
Postponement of K -contractions and the conservation theorem do not hold for ordinary but have been established by de Groote for a mixture of with another reduction relation. In this paper, de Groote's results are generalised for a single reduction relation e which generalises . We show morever, that e has the Preservation of Strong Normalisation property. Keywords: Generalised -reduction, Postponement of K-contractions, Generalised Conservation, Preservation of Strong Normalisation. 1 The -calculus with generalized reduction In the term (( x : y :N)P )Q, the abstraction starting with x and the argument P form the redex ( x : y :N)P . When this redex is contracted, the abstraction starting with y and Q will in turn form a redex. It is important to note that Q (or some residual of Q) is the only argument that the abstraction (or some residual of the abstraction) starting with y can ever have. This fact has been exploited by many researchers. Reduction has been ex...
Characterizing Lambda-Terms With Equal Reduction Behavior
"... We define an equivalence relation on lambda-terms called shuffle-equivalence which attempts to capture the notion of reductional equivalence on strongly normalizing terms. The aim of reductional equivalence is to characterize the evaluation behavior of programs. The shuffle-equivalence classes are s ..."
Abstract
- Add to MetaCart
We define an equivalence relation on lambda-terms called shuffle-equivalence which attempts to capture the notion of reductional equivalence on strongly normalizing terms. The aim of reductional equivalence is to characterize the evaluation behavior of programs. The shuffle-equivalence classes are shown to divide the classes of beta-equal strongly normalising terms (programs which lead to the same final value/output) into smaller ones consisting of terms with similar evaluation behavior. We refine beta-reduction from a relation on terms to a relation on shuffle-equivalence classes, called shuffle-reduction, and show that this refinement captures existing generalisations of lambda-reduction. Shuffle-reduction allows one to make more redexes visible and to contract these newly visible redexes. Moreover, it allows more freedom in choosing the reduction path of a term, which can result in smaller terms along the reduction path if a clever reduction strategy is used. This can benefit both programming language...

