Results 1 
7 of
7
Lazy rewriting on eager machinery
 ACM Transactions on Programming Languages and Systems
, 2000
"... The article introduces a novel notion of lazy rewriting. By annotating argument positions as lazy, redundant rewrite steps are avoided, and the termination behaviour of a term rewriting system can be improved. Some transformations of rewrite rules enable an implementation using the same primitives a ..."
Abstract

Cited by 23 (1 self)
 Add to MetaCart
The article introduces a novel notion of lazy rewriting. By annotating argument positions as lazy, redundant rewrite steps are avoided, and the termination behaviour of a term rewriting system can be improved. Some transformations of rewrite rules enable an implementation using the same primitives as an implementation of eager rewriting. 1
Grammar Rewriting
 Proceedings 11th International Conference on Automated Deduction
, 1991
"... We present a term rewriting procedure based on congruence closure that can be used with arbitrary equational theories. This procedure is motivated by the pragmatic need to prove equations in equational theories where confluence can not be achieved. The procedure uses context free grammars to represe ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
We present a term rewriting procedure based on congruence closure that can be used with arbitrary equational theories. This procedure is motivated by the pragmatic need to prove equations in equational theories where confluence can not be achieved. The procedure uses context free grammars to represent equivalence classes of terms. The procedure rewrites grammars rather than terms and uses congruence closure to maintain certain congruence properties of the grammar. Grammars provide concise representations of large term sets. Infinite term sets can be represented with finite grammars and exponentially large term sets can be represented with linear sized grarmnars. Although the procedure is primarily intended for use in nonconfluent theories, it also provides a new kind of confluence that can be used to give canoni cal rewriting systems for theories that are difficult to handle in other ways. For example, under grammar rewriting there is a finite canonical rewrite system for idempotent semigroups, a theory which has been shown not to have any finite canonical system under traditional notions of rewriting.
Survey of the Equational Logic Programming Project
 In Colloquium on Resolution of Equations in Algebraic Structures
, 1987
"... In 1975 I started a small project to explore the consequences of implementing equational programs with no semantic compromises. Latest results include a compiler that executes exactly the logical consequences of an equational program, with runtime speed comparable to compiled Franz LISP. This paper ..."
Abstract
 Add to MetaCart
In 1975 I started a small project to explore the consequences of implementing equational programs with no semantic compromises. Latest results include a compiler that executes exactly the logical consequences of an equational program, with runtime speed comparable to compiled Franz LISP. This paper surveys the development of the project, through theoretical foundations, algorithm development, design and implementation, application, and directions for the future. 1 Introduction This paper surveys a small project aimed at providing a style of logic programming based on equational logic. The project was always intended as an exploration of radical possibilities in programming languages, rather than as an attempt to support any particular application. Christoph Hoffmann was an equal collaborator from 1977 to 1983. Paul Chew and Robert Strandh made significant contributions in their doctoral dissertations, and Paul Golick This work was supported by NSF grant DCR8601843. This paper was...
TermRewriting Implementation of Equational Logic Programming
 In Lescanne
, 1987
"... In 1975 I started a small project to explore the consequences of implementing equational programs with no semantic compromises. Latest results include a compiler that executes exactly the logical consequences of an equational program, with runtime speed comparable to compiled Franz LISP. This paper ..."
Abstract
 Add to MetaCart
In 1975 I started a small project to explore the consequences of implementing equational programs with no semantic compromises. Latest results include a compiler that executes exactly the logical consequences of an equational program, with runtime speed comparable to compiled Franz LISP. This paper describes the accomplishments of the project very briefly, concentrating on shortcomings and directions for future work. 1 Introduction The most common approach to providing semantics for programming languages is to regard a program as the definition of a collection of functions. In some cases great ingenuity is required to construct the unique function associated with each symbol in a program. Inputs and outputs are regarded as values in the domains of the defined functions, and the input/output behavior of the implementation of a program is expected to be exactly the function associated with some designated symbol in the program. I prefer, This work was supported by NSF grant DCR8601...
EM code Semantics, Analysis, and Optimization
"... This paper is a complete presentation of EM code, an intermediate code for representing the patternmatching automata produced by the Equational Logic Programming system. We present the abstract syntax and operational and denotational semantics of EM code. We then describe in detail methods for ..."
Abstract
 Add to MetaCart
This paper is a complete presentation of EM code, an intermediate code for representing the patternmatching automata produced by the Equational Logic Programming system. We present the abstract syntax and operational and denotational semantics of EM code. We then describe in detail methods for analysis, optimization, and partial evaluation of EM code programs. This paper is intended as a general reference, and does not assume any prior knowledge of EM code or equational logic programming (except as motivation for reading this paper). Familiarity with termrewriting systems and lazy evaluation is helpful. Contents 1 Introduction 3 2 Abstract Syntax and Operational Semantics 5 2.1 Abstract Machine : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 2.2 Abstract Syntax : : : : : : : : : : : : : : : : : : : : : : : : : : : 7 2.3 Operational Semantics : : : : : : : : : : : : : : : : : : : : : : : : 8 2.3.1 Heap Memory : : : : : : : : : : : : : : : : : : : : : : : : : 8 2.3.2...