Results 1  10
of
17
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 39 (18 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...
CallbyName, CallbyValue, CallbyNeed, 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 callbyname calculus, while the second correspond ..."
Abstract

Cited by 31 (6 self)
 Add to MetaCart
(Show Context)
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 callbyname calculus, while the second corresponds to callbyvalue. 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 callbyneed 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 CurryHoward isomorphism.
A reduction relation for which postponement of Kcontractions, 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. ..."
Abstract

Cited by 10 (7 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 fireduction, Postponement of Kcontractions, 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 lambdacalculus 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 6 (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 finegrained, implicit parallelism and nonstrict 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 applicabilityto 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 3 (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 wellsuited for streamoriented 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 wellsuited for streamoriented 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 callbyneed semantics with computational effects. To support robust programming in this systemoriented variant, we formalize the semantics of handleable exceptions in a callbyneed language. 1 Streams and Deadlocks As Kahn showed in ...
Redexes in Item Notation Classical Notation Item Notation
, 2009
"... • I(λx.B) = [x]I(B) and I(AB) = (I(B))I(A) • I((λx.(λy.xy))z) ≡ (z)[x][y](y)x. The items are (z), [x], [y] and (y). • applicator wagon (z) and abstractor wagon [x] occur NEXT to each other. • A term is a wagon followed by a term. • (β) ..."
Abstract
 Add to MetaCart
• I(λx.B) = [x]I(B) and I(AB) = (I(B))I(A) • I((λx.(λy.xy))z) ≡ (z)[x][y](y)x. The items are (z), [x], [y] and (y). • applicator wagon (z) and abstractor wagon [x] occur NEXT to each other. • A term is a wagon followed by a term. • (β)
An Approximation of Reductional Equivalence
"... We define an equivalence relation on terms called shuffleequivalence which attempts to capture the notion of reductional equivalence on strongly normalizing terms. The shuffleequivalence classes are shown to divide the classes of fiequal terms into smaller ones consisting of terms with similar re ..."
Abstract
 Add to MetaCart
(Show Context)
We define an equivalence relation on terms called shuffleequivalence which attempts to capture the notion of reductional equivalence on strongly normalizing terms. The shuffleequivalence classes are shown to divide the classes of fiequal terms into smaller ones consisting of terms with similar reduction behaviour. We refine fireduction from a relation on terms to a relation on shuffleequivalence classes, called shufflereduction, and show that this refinement captures existing generalisations of fireduction. Shufflereduction moreover, apart from allowing one to make more redexes visible and to contract these newly visible redexes, 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. This can benefit both programming languages and theorem provers since this flexibility and freedom in chosing reduction paths can be exploited to produce the shortest program evalu...
The LambdaCube With Classes Which Approximate Reductional Equivalence
, 1995
"... We study lambda calculus and refine the notions of fireduction and fiequality. 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 fireduction and fiequality. 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 TSimages. The shuffleequivalence classes are shown to divide the classes of fiequal terms into smaller classes consisting of terms with similar reduction behaviour. The refinement of fireduction from a relation on terms to a relation on shuffle classes, called shufflereduction, 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...