Results 1 
6 of
6
Explicit Cyclic Substitutions
, 1993
"... In this paper we consider rewrite systems that describe the lambdacalculus enriched with recursive and nonrecursive local definitions by generalizing the `explicit substitutions' used by Abadi, Cardelli, Curien, and Lévy [1] to describe sharing in lambdaterms. This leads to `explicit cyclic ..."
Abstract

Cited by 27 (2 self)
 Add to MetaCart
(Show Context)
In this paper we consider rewrite systems that describe the lambdacalculus enriched with recursive and nonrecursive local definitions by generalizing the `explicit substitutions' used by Abadi, Cardelli, Curien, and Lévy [1] to describe sharing in lambdaterms. This leads to `explicit cyclic substitutions' that can describe the mutual sharing of local recursive definitions. We demonstrate how this may be used to describe standard binding constructions (let and letrec)  directly using substitution and fixed point induction as well as using `smallstep' rewriting semantics where substitution is interleaved with the mechanics of the following betareductions. With this we hope to contribute to the synthesis of denotational and operational specifications of sharing and recursion.
Compilation of Head and Strong Reduction
 In ESOP
, 1994
"... Functional language compilers implement only weakhead reduction. However, there are cases where head normal forms or full normal forms are needed. Here, we study how to use cps conversion for the compilation of head and strong reductions. We apply cps expressions to a special continuation so tha ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Functional language compilers implement only weakhead reduction. However, there are cases where head normal forms or full normal forms are needed. Here, we study how to use cps conversion for the compilation of head and strong reductions. We apply cps expressions to a special continuation so that their head or strong normal form can be obtained by the usual weakhead reduction. We remain within the functional framework and no special abstract machine is needed. Used as a preliminary step our method allows a standard compiler to evaluate under l's. 1 Introduction Functional language compilers consider only weakhead reduction and the evaluation stops when a weak head normal form (whnf), that is a constant or a labstraction, is reached. In practice, whnf's are considered sufficient because printable results belong to basic domains. However, there are cases where one would like to reduce under l's to get head normal forms (hnf) or even (strong) normal forms (nf). Specifically, h...
Graphbased Operational Semantics of a Lazy Functional Language
 Term Graph Rewriting: Theory and Practice, chapter 22
"... Machine [Car83], the Gmachine [Joh84, BPJR88], Clean [BvEvLP87, KSvEP91], and DACTL [Ken88, GKS89]. All of these can be perceived as notations for algorithms that describe how graphs may be used to model the evaluation of the implemented language. Such notations have the advantage that they are dir ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Machine [Car83], the Gmachine [Joh84, BPJR88], Clean [BvEvLP87, KSvEP91], and DACTL [Ken88, GKS89]. All of these can be perceived as notations for algorithms that describe how graphs may be used to model the evaluation of the implemented language. Such notations have the advantage that they are directly executable. However, they are often not very readable since all the details of the implementation have to be present in the specification. On the other hand, the idea has also been used in attempts to build models of functional languages and to prove properties of such models directly. Again starting from [Wad71] such attempts are naturally focused on models of the calculusa 2 We will use the traditional word "redex" (reducible expression) rather than some abbreviation of "reducible subgraph" even though we will always refer to the latter. GRAPHBASED OPERATIONAL SEMANTICS OF A LAZY FUNCTIONAL LANGUAGE 239 rather large are of research, so we will just mention [Sta78] and [Lam90...
Compilation of Head and Strong Reduction
 In ESOP
, 1994
"... Functional language compilers implement only weakhead reduction. However, there are cases where head normal forms or full normal forms are needed. Here, we study how to use cps conversion for the compilation of head and strong reductions. We apply cps expressions to a special continuation so tha ..."
Abstract
 Add to MetaCart
Functional language compilers implement only weakhead reduction. However, there are cases where head normal forms or full normal forms are needed. Here, we study how to use cps conversion for the compilation of head and strong reductions. We apply cps expressions to a special continuation so that their head or strong normal form can be obtained by the usual weakhead reduction. We remain within the functional framework and no special abstract machine is needed. Used as a preliminary step our method allows a standard compiler to evaluate under l's. 1 Introduction Functional language compilers consider only weakhead reduction and the evaluation stops when a weak head normal form (whnf), that is a constant or a labstraction, is reached. In practice, whnf's are considered sufficient because printable results belong to basic domains. However, there are cases where one would like to reduce under l's to get head normal forms (hnf) or even (strong) normal forms (nf). Specifically, h...
Compilation of Head and Strong Reduction
 In ESOP
, 1994
"... : Functional language compilers implement only weakhead reduction. However, there are cases where head normal forms or full normal forms are needed. Here, we study how to use cps conversion for the compilation of head and strong reductions. We apply cps expressions to a special continuation so that ..."
Abstract
 Add to MetaCart
: Functional language compilers implement only weakhead reduction. However, there are cases where head normal forms or full normal forms are needed. Here, we study how to use cps conversion for the compilation of head and strong reductions. We apply cps expressions to a special continuation so that their head or strong normal form can be obtained by the usual weakhead reduction. We remain within the functional framework and no special abstract machine is needed. Used as a preliminary step our method allows a standard compiler to evaluate under l's. Keywords: lcalculus, Cps conversion, Head and Strong Reduction, Compilation (Rsum : tsvp) email: fradet@irisa.fr Compilation de la rduction forte et de tte Rsum : Les compilateurs de langages fonctionnels ne mettent en oeuvre que la rduction faible. En certaines occasions il est ncessaire d'valuer des formes normales ou des formes normales de tte. Nous tudions ici comment la transformation cps ("continuation passing style") peut tre...