Results 1 -
7 of
7
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 138 (31 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 and-or 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...
Adding equations to NU-Prolog
- In Proc. of the 3rd Int. Symposium on Programming Language Implementation and Logic Programming
, 1991
"... This paper describes an extension to NU-Prolog which allows evaluable functions to be defined using equations. We consider it to be the most pragmatic way of combining functional and relational programming. The implementation consists of several hundred lines of Prolog code and the underlying Prolog ..."
Abstract
-
Cited by 36 (5 self)
- Add to MetaCart
This paper describes an extension to NU-Prolog which allows evaluable functions to be defined using equations. We consider it to be the most pragmatic way of combining functional and relational programming. The implementation consists of several hundred lines of Prolog code and the underlying Prolog implementation was not modified at all. However, the system is reasonably efficient and supports coroutining, optional lazy evaluation, higher order functions and parallel execution. Efficiency is gained in several ways. First, we use some new implementation techniques. Second, we exploit some of the unique features of NU-Prolog, though these features are not essential to the implementation. Third, the language is designed so that we can take advantage of implicit mode and determinism information. Although we have not concentrated on the semantics of the language, we believe that our language design decisions and implementation techniques will be useful in the next generation of combined functional and relational languages. Keywords: logic programming, equations, functions, parallelism, indexing, lazy evaluation, higher order. -- 1 -- 1 Introduction
Rewrite, Rewrite, Rewrite, Rewrite, Rewrite, ...
, 1989
"... .We study properties of rewrite systems that are not necessarily terminating, but allow instead for trans#nite derivations that have a limit. In particular, we give conditions for the existence of a limit and for its uniqueness and relate the operational and algebraic semantics of in#nitary theories ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
.We study properties of rewrite systems that are not necessarily terminating, but allow instead for trans#nite derivations that have a limit. In particular, we give conditions for the existence of a limit and for its uniqueness and relate the operational and algebraic semantics of in#nitary theories. We also consider su#cient completeness of hierarchical systems. Is there no limit? ---Job 16:3 1. Introduction Rewrite systems are sets of directed equations used to compute by repeatedly replacing equal terms in a given formula, as long as possible. For one approach to their use in computing, see #23#. The theory of rewriting is an outgrowth of the study of the lambda calculus and combinatory logic, and # Preliminary versions #6, 7# of ideas in this paper were presented at the Sixteenth ACM Symposium on Principles of Programming Languages, Austin, TX #January 1989# and at the Sixteenth EATCS International Colloquium on Automata, Languages and Programming, Stresa, Italy #July 1989#. ...
Lazy Rewriting in Logic Programming
, 1992
"... We describe a technique enabling a logic program to perform lazy rewriting. Our technique is based on a transformation of a rewrite system in a set of Horn clauses. We characterize syntactically, in terms of a hierarchical structure of the rewrite rules of an operation, the systems accepted by ou ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We describe a technique enabling a logic program to perform lazy rewriting. Our technique is based on a transformation of a rewrite system in a set of Horn clauses. We characterize syntactically, in terms of a hierarchical structure of the rewrite rules of an operation, the systems accepted by our transformation and outline a design technique yielding systems with these characteristics. We define our transformation, prove its correctness and other properties, and relate the efficiency of resolution to that of rewriting. Improvements over previous similar results include using a more expressive and more powerful language, generating a more efficient logic program, providing efficient operational completeness, and establishing a tight bound on the length of a resolution as a function of the length of a corresponding reduction sequence. We compare our approach with several related proposals and discuss examples which also show the integration of lazy with eager evaluation and ...
Contributions to Functional Programming in Logic
, 1990
"... We accept this thesis as conforming ..."
A Method for Implementing Equational Theories as Logic Programs
, 1994
"... Equational theories underly many fields of computing, including functional programming, symbolic algebra, theorem proving, term rewriting and constraint solving. In this paper we show a method for implementing many equational theories with a limited class of logic programs. We define regular equa ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Equational theories underly many fields of computing, including functional programming, symbolic algebra, theorem proving, term rewriting and constraint solving. In this paper we show a method for implementing many equational theories with a limited class of logic programs. We define regular equational theories, a useful class of theories, and illustrate with a number of examples how our method can be used in obtaining efficient implementations for them. The significance of our method is that: ffl It is simple and easy to apply. ffl Although executable, it supports separation of concerns between specification and implementation. ffl Its class of logic programs execute with impressive efficiency using Prolog. ffl It permits interesting compilation and optimization techniques that can improve execution efficiency still further. ffl It offers perspectives on term rewriting and functional programming evaluation strategies, how they can be compiled, and how they can be integrate...
Infinite Normal Forms (Preliminary Version)
"... We continue here a study of properties of rewrite systems that are not necessarily terminating, but allow for infinite derivations that have a limit. In particular, we give algebraic semantics for theories described by such systems, consider sufficient completeness of hierarchical systems, suggest p ..."
Abstract
- Add to MetaCart
We continue here a study of properties of rewrite systems that are not necessarily terminating, but allow for infinite derivations that have a limit. In particular, we give algebraic semantics for theories described by such systems, consider sufficient completeness of hierarchical systems, suggest practical conditions for the existence of a limit and for its uniqueness, and extend the ideas to conditional rewriting. 1.

