Results 1 -
9 of
9
An Implementation of Narrowing Strategies
- Journal of the ACM
, 2001
"... This paper describes an implementation of narrowing, an essential component of implementations of modern functional logic languages. These implementations rely on narrowing, in particular on some optimal narrowing strategies, to execute functional logic programs. We translate functional logic progra ..."
Abstract
-
Cited by 273 (111 self)
- Add to MetaCart
This paper describes an implementation of narrowing, an essential component of implementations of modern functional logic languages. These implementations rely on narrowing, in particular on some optimal narrowing strategies, to execute functional logic programs. We translate functional logic programs into imperative (Java) programs without an intermediate abstract machine. A central idea of our approach is the explicit representation and processing of narrowing computations as data objects. This enables the implementation of operationally complete strategies (i.e., without backtracking) or techniques for search control (e.g., encapsulated search). Thanks to the use of an intermediate and portable representation of programs, our implementation is general enough to be used as a common back end for a wide variety of functional logic languages.
Equational term graph rewriting
- FUNDAMENTA INFORMATICAE
, 1996
"... We present an equational framework for term graph rewriting with cycles. The usual notion of homomorphism is phrased in terms of the notion of bisimulation, which is well-known in process algebra and concurrency theory. Specifically, a homomorphism is a functional bisimulation. We prove that the bis ..."
Abstract
-
Cited by 62 (8 self)
- Add to MetaCart
We present an equational framework for term graph rewriting with cycles. The usual notion of homomorphism is phrased in terms of the notion of bisimulation, which is well-known in process algebra and concurrency theory. Specifically, a homomorphism is a functional bisimulation. We prove that the bisimilarity class of a term graph, partially ordered by functional bisimulation, is a complete lattice. It is shown how Equational Logic induces a notion of copying and substitution on term graphs, or systems of recursion equations, and also suggests the introduction of hidden or nameless nodes in a term graph. Hidden nodes can be used only once. The general framework of term graphs with copying is compared with the more restricted copying facilities embodied in the µ-rule, and translations are given between term graphs and µ-expressions. Using these, a proof system is given for µ-expressions that is complete for the semantics given by infinite tree unwinding. Next, orthogonal term graph rewrite ...
CPO models for infinite term rewriting
- in Proc. AMAST'95, LNCS 936
, 1995
"... . Infinite terms in universal algebras are a well-known topic since the seminal work of the ADJ group [1]. The recent interest in the field of term rewriting (tr) for infinite terms is due to the use of term graph rewriting to implement tr, where terms are represented by graphs: so, a cyclic gra ..."
Abstract
-
Cited by 10 (7 self)
- Add to MetaCart
. Infinite terms in universal algebras are a well-known topic since the seminal work of the ADJ group [1]. The recent interest in the field of term rewriting (tr) for infinite terms is due to the use of term graph rewriting to implement tr, where terms are represented by graphs: so, a cyclic graph is a finitary description of a possibly infinite term. In this paper we introduce infinite rewriting logic, working on the framework of rewriting logic proposed by Jos'e Meseguer [13, 14]. We provide a simple algebraic presentation of infinite computations, recovering the infinite parallel term rewriting, originally presented by one of the authors ([6]) to extend the classical, set-theoretical approach to tr with infinite terms. Moreover, we put all the formalism on firm theoretical bases, providing (for the first time, to the best of our knowledge, for infinitary rewriting systems) a clean algebraic semantics by means of (internal) 2-categories. 1 Introduction Term rewriting sy...
Relating Graph and Term Rewriting via Böhm Models
- in Engineering, Communication and Computing 7
, 1993
"... . Dealing properly with sharing is important for expressing some of the common compiler optimizations, such as common subexpressions elimination, lifting of free expressions and removal of invariants from a loop, as source-to-source transformations. Graph rewriting is a suitable vehicle to accommoda ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
. Dealing properly with sharing is important for expressing some of the common compiler optimizations, such as common subexpressions elimination, lifting of free expressions and removal of invariants from a loop, as source-to-source transformations. Graph rewriting is a suitable vehicle to accommodate these concerns. In [4] we have presented a term model for graph rewriting systems (GRSs) without interfering rules, and shown the partial correctness of the aforementioned optimizations. In this paper we define a different model for GRSs, which allows us to prove total correctness of those optimizations. Differently from [4] we will discard sharing from our observations and introduce more restrictions on the rules. We will introduce the notion of Bohm tree for GRSs, and show that in a system without interfering and non-left linear rules (orthogonal GRSs), Bohm tree equivalence defines a congruence. Total correctness then follows in a straightforward way from showing that if a program M co...
Transfinite Reductions in Orthogonal Term Rewriting Systems
, 1995
"... We define the notion of transfinite term rewriting: rewriting in which terms may be infinitely large and rewrite sequences may be of any ordinal length. For orthogonal rewrite systems, some fundamental properties known in the finite case are extended to the transfinite case. Among these are the Pa ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
We define the notion of transfinite term rewriting: rewriting in which terms may be infinitely large and rewrite sequences may be of any ordinal length. For orthogonal rewrite systems, some fundamental properties known in the finite case are extended to the transfinite case. Among these are the Parallel Moves lemma and the Unique Normal Form property. The transfinite Church-Rosser property (CR 1 ) fails in general, even for orthogonal systems, including such well-known systems as Combinatory Logic. Syntactic characterisations are given of some classes of orthogonal TRSs which do satisfy CR 1 . We also prove a weakening of CR 1 for all orthogonal systems, in which the property is only required to hold up to a certain equivalence relation on terms. Finally, we extend the theory of needed reduction from the finite to the transfinite case. The reduction strategy of needed reduction is normalising in the finite case, but not in the transfinite case. To obtain a normalising str...
Rank 2 Types for Term Graph Rewriting (Extended Abstract)
"... We define a notion of type assignment with polymorphic intersection types of rank 2 fora term graph rewriting language that expresses sharing and cycles. We show that type assignment is decidable through defining, using the extended notion of unification from [5],a notion of principal pair which gen ..."
Abstract
-
Cited by 3 (3 self)
- Add to MetaCart
We define a notion of type assignment with polymorphic intersection types of rank 2 fora term graph rewriting language that expresses sharing and cycles. We show that type assignment is decidable through defining, using the extended notion of unification from [5],a notion of principal pair which generalizes ml's principal type property.
Bisimilarity in Term Graph Rewriting
- Information and Computation
, 1998
"... We present a survey of confluence properties of (acyclic) term graph rewriting. Results and counterexamples are given for different kinds of term graph rewriting: besides plain applications of rewrite rules, extensions with the operations of collapsing and copying, and with both operations togethe ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We present a survey of confluence properties of (acyclic) term graph rewriting. Results and counterexamples are given for different kinds of term graph rewriting: besides plain applications of rewrite rules, extensions with the operations of collapsing and copying, and with both operations together are considered. Collapsing and copying together constitute bisimilarity of term graphs. We establish sufficient conditions for---and counterexamples to---confluence, confluence modulo bisimilarity and the Church-Rosser property modulo bisimilarity. Moreover, we address rewriting modulo bisimilarity, that is, rewriting of bisimilarity classes of term graphs. 1991 Computing Reviews Classification System: F.1.1, F.4.1, F.4.2 Keywords and Phrases: term graph rewriting, bisimilarity, confluence, Church-Rosser property Note: Work carried out under project SEN2.2, Data Manipulation. Part of the research of the third author was performed while he was on leave at CWI by a grant of the HCM ne...
Rank 2 types for term graph rewriting
- In TIP’02, volume 75 of ENTCS
, 2003
"... We define a notion of type assignment with polymorphic intersection types of rank 2 for a term graph rewriting language that expresses sharing and cycles. We show that type assignment is decidable through defining, using the extended notion of unification from [5], a notion of principal pair which g ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We define a notion of type assignment with polymorphic intersection types of rank 2 for a term graph rewriting language that expresses sharing and cycles. We show that type assignment is decidable through defining, using the extended notion of unification from [5], a notion of principal pair which generalizes ML’s principal type property.
Modularity of Termination for Disjoint Term Graph Rewrite Systems: A Simple Proof
- Bulletin of the European Association for Theoretical Computer Science
, 1998
"... Introduction It is well-known that termination is not modular for disjoint term rewriting systems (TRSs). In Toyama's counterexample the combination of the terminating systems R 1 = fF (0; 1; x) ! F (x; x; x)g, and R 2 = fg(x; y) ! x; g(x; y) ! yg yields a non-terminating system because there is t ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Introduction It is well-known that termination is not modular for disjoint term rewriting systems (TRSs). In Toyama's counterexample the combination of the terminating systems R 1 = fF (0; 1; x) ! F (x; x; x)g, and R 2 = fg(x; y) ! x; g(x; y) ! yg yields a non-terminating system because there is the cyclic rewrite derivation 0 1 g 1 0 + 0 1 g 0 1 g g 0 1 0 1 g 0 1 g g 0 1 F F F In the last decade, many sufficient criteria for the modularity of termination have been given; see [Mid90, Ohl94, Gra96] for an overview. For instance, termination is modular for the classes of non-collapsing and non-duplicat

