Results 1  10
of
32
Definitional Trees
 In Proc. of the 3rd International Conference on Algebraic and Logic Programming
, 1992
"... . Rewriting is a computational paradigm that specifies the actions, but not the control. We introduce a hierarchical structure representing, at a high level of abstraction, a form of control. Its application solves a specific problem arising in the design and implementation of inherently sequential, ..."
Abstract

Cited by 151 (39 self)
 Add to MetaCart
. Rewriting is a computational paradigm that specifies the actions, but not the control. We introduce a hierarchical structure representing, at a high level of abstraction, a form of control. Its application solves a specific problem arising in the design and implementation of inherently sequential, lazy, functional programming languages based on rewriting. For example, we show how to extend the expressive power of Log(F ) and how to improve the efficiency of an implementation of BABEL. Our framework provides a notion of degree of parallelism of an operation and shows that the elements of a necessary set of redexes are related by an andor relation. Both concepts find application in parallel implementations of rewriting. In an environment in which computations can be executed in parallel we are able to detect sequential computations in order to minimize overheads and/or optimize execution. Conversely, we are able to detect when inherently sequential computations can be executed in para...
Natural termination
 Theoretical Computer Science
"... Abstract. We generalize the various path orderings and the conditions under which they work, and describe an implementation of this general ordering. We look at methods for proving termination of orthogonal systems and give a new solution to a problem of Zantema's. 1 ..."
Abstract

Cited by 83 (11 self)
 Add to MetaCart
Abstract. We generalize the various path orderings and the conditions under which they work, and describe an implementation of this general ordering. We look at methods for proving termination of orthogonal systems and give a new solution to a problem of Zantema's. 1
ContextSensitive Rewriting Strategies
, 1997
"... Contextsensitive rewriting is a simple restriction of rewriting which is formalized by imposing fixed restrictions on replacements. Such a restriction is given on a purely syntactic basis: it is (explicitly or automatically) specified on the arguments of symbols of the signature and inductively ..."
Abstract

Cited by 43 (30 self)
 Add to MetaCart
Contextsensitive rewriting is a simple restriction of rewriting which is formalized by imposing fixed restrictions on replacements. Such a restriction is given on a purely syntactic basis: it is (explicitly or automatically) specified on the arguments of symbols of the signature and inductively extended to arbitrary positions of terms built from those symbols. Termination is not only preserved but usually improved and several methods have been developed to formally prove it. In this paper, we investigate the definition, properties, and use of contextsensitive rewriting strategies, i.e., particular, fixed sequences of contextsensitive rewriting steps. We study how to define them in order to obtain efficient computations and to ensure that contextsensitive computations terminate whenever possible. We give conditions enabling the use of these strategies for rootnormalization, normalization, and infinitary normalization. We show that this theory is suitable for formalizing ...
Optimal Derivations in Weak Lambdacalculi and in Orthogonal Terms Rewriting Systems.
, 1991
"... We introduce the new framework of Labeled Terms Rewriting Systems (T l RS), a general framework to express sharing in Term Rewriting Systems (TRS). For Orthogonal T l RS, an important subclass of T l RS, we characterize optimal derivations. This result is applied to weak calculi, showing the ..."
Abstract

Cited by 34 (0 self)
 Add to MetaCart
We introduce the new framework of Labeled Terms Rewriting Systems (T l RS), a general framework to express sharing in Term Rewriting Systems (TRS). For Orthogonal T l RS, an important subclass of T l RS, we characterize optimal derivations. This result is applied to weak calculi, showing the optimality of the lazy strategy, that is, the callbyname with sharing strategy. The result is also valid in the presence of ffi rules, as in PCF. Orthogonal T l RS is also useful as a calculus for proving syntactic properties of functional languages. 1 Compilation of the calculus Most compilers for functional languages translate their source language into some enriched calculus [17], and then, compile this intermediate language to a lowlevel language, such as mutually recursive supercombinators, as in LML [2, 10], or categorical combinators, as in CAML [4]. These lowlevel languages define different forms of weak fireduction. We now describe two of these lowlevel languages, superc...
Lambda calculus with patterns
, 1990
"... The calculus is an extension of the calculus with a pattern matching facility. The form of the argument of a function can be specified and hencecalculus is more convenient than ordinary calculus. We explore the basic theory of calculus, establishing results such as confluence. In doing so, we f ..."
Abstract

Cited by 27 (1 self)
 Add to MetaCart
The calculus is an extension of the calculus with a pattern matching facility. The form of the argument of a function can be specified and hencecalculus is more convenient than ordinary calculus. We explore the basic theory of calculus, establishing results such as confluence. In doing so, we find some requirements for patterns that guarantee confluence. Our work can be seen as giving some foundations for implementations of functional programming languages.
Compiling Pattern Matching by Term Decomposition
, 1989
"... We present a method for compiling pattern matching on lazy languages based on previous work by Laville and HuetLevy. It consists of coding ambiguous linear sets of patterns using "Term Decomposition," and producing non ambiguous sets over terms with structural constraints on variables. The method c ..."
Abstract

Cited by 23 (0 self)
 Add to MetaCart
We present a method for compiling pattern matching on lazy languages based on previous work by Laville and HuetLevy. It consists of coding ambiguous linear sets of patterns using "Term Decomposition," and producing non ambiguous sets over terms with structural constraints on variables. The method can also be applied to strict languages giving a match algorithm that includes only unavoidable tests when such an algorithm exists.
Adding algebraic rewriting to the untyped lambda calculus
 Information and Computation
, 1992
"... We investigate the system obtained by adding an algebraic rewriting system R to an untyped lambda calculus in which terms are formed using the function symbols from R as constants. On certain classes of terms, called here "stable", we prove that the resulting calculus is confluent if R is confluent, ..."
Abstract

Cited by 20 (0 self)
 Add to MetaCart
We investigate the system obtained by adding an algebraic rewriting system R to an untyped lambda calculus in which terms are formed using the function symbols from R as constants. On certain classes of terms, called here "stable", we prove that the resulting calculus is confluent if R is confluent, and terminating if R is terminating. The termination result has the corresponding theorems for several typed calculi as corollaries. The proof of the confluence result suggests a general method for proving confluence of typed β reduction plus rewriting; we sketch the application to the polymorphic lambda calculus.
A Conflict Between CallbyNeed Computation and Parallelism
, 1994
"... . In functional language implementation, there is a folklore belief that there is a conflict between implementing callbyneed semantics and parallel evaluation. In this note we illustrate this by proving that reduction algorithms of a certain general and commonly used form which give callbyneed ..."
Abstract

Cited by 15 (0 self)
 Add to MetaCart
. In functional language implementation, there is a folklore belief that there is a conflict between implementing callbyneed semantics and parallel evaluation. In this note we illustrate this by proving that reduction algorithms of a certain general and commonly used form which give callbyneed semantics offer very little parallelism. The analysis of lazy patternmatching which leads to the above result also suggests an efficient sequential algorithm for the evaluation of a class functional programs satisfying certain constraints, an algorithm which respects the mathematical semantics of the program considered as a term rewrite system. 1 Introduction Huet and L'evy [Huet and L'evy, 1979, Huet and L'evy, 1991] have considered the problem of call by need computation of normal forms in orthogonal term rewrite systems. Call by need here means that no redex is ever reduced unless it must be reduced in order to compute the normal form. In general, such a redex cannot be effectiv...
The Functional Strategy and Transitive Term Rewriting Systems
, 1993
"... The functional strategy has been widely used implicitly (Haskell, Miranda, Lazy ML) and explicitly (Clean) as an efficient, intuitively easy to understand reduction strategy for term (or graph) rewriting systems. However, little is known of its formal properties since the strategy deals with priorit ..."
Abstract

Cited by 15 (1 self)
 Add to MetaCart
The functional strategy has been widely used implicitly (Haskell, Miranda, Lazy ML) and explicitly (Clean) as an efficient, intuitively easy to understand reduction strategy for term (or graph) rewriting systems. However, little is known of its formal properties since the strategy deals with priority rewriting which significantly complicates the semantics. Nevertheless, this paper shows that some formal results about the functional strategy can be produced by studying the functional strategy entirely within the standard framework of orthogonal term rewriting systems. A concept is introduced that is one of the key aspects of the efficiency of the functional strategy: transitive indexes . The corresponding class of transitive term rewriting systems is characterized. An efficient normalizing strategy is given for these rewriting systems. It is shown that the functional strategy is normalizing for the class of leftincompatible term rewriting systems. 1. Introduction An interesting commo...