Results 1  10
of
13
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 294 (123 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.
Higherorder Unification via Explicit Substitutions (Extended Abstract)
 Proceedings of LICS'95
, 1995
"... Higherorder unification is equational unification for βηconversion. But it is not firstorder equational unification, as substitution has to avoid capture. In this paper higherorder unification is reduced to firstorder equational unification in a suitable theory: the λσcal ..."
Abstract

Cited by 103 (13 self)
 Add to MetaCart
Higherorder unification is equational unification for βηconversion. But it is not firstorder equational unification, as substitution has to avoid capture. In this paper higherorder unification is reduced to firstorder equational unification in a suitable theory: the λσcalculus of explicit substitutions.
LevelConfluence of Conditional Rewrite Systems with Extra Variables in RightHand Sides
 In Proceedings of the 6th International Conference on Rewriting Techniques and Applications
, 1995
"... Levelconfluence is an important property of conditional term rewriting systems that allow extra variables in the rewrite rules because it guarantees the completeness of narrowing for such systems. In this paper we present a syntactic condition ensuring levelconfluence for orthogonal, not necessari ..."
Abstract

Cited by 24 (3 self)
 Add to MetaCart
Levelconfluence is an important property of conditional term rewriting systems that allow extra variables in the rewrite rules because it guarantees the completeness of narrowing for such systems. In this paper we present a syntactic condition ensuring levelconfluence for orthogonal, not necessarily terminating, conditional term rewriting systems that have extra variables in the righthand sides of the rewrite rules. To this end we generalize the parallel moves lemma. Our result bears practical significance since the class of systems that fall within its scope can be viewed as a computational model for functional logic programming languages with local definitions, such as letexpressions and whereconstructs. 1. Introduction There is a growing interest in combining the functional and logic programming paradigms in a single language, see Hanus [12] for a recent overview of the field. The underlying computational mechanism of most of these integrated languages is (conditional) narrowi...
A Deterministic Lazy Narrowing Calculus
 Journal of Symbolic Computation
, 1998
"... In this paper we study the nondeterminism between the inference rules of the lazy narrowing calculus lnc (Middeldorp et al., 1996). We show that all nondeterminism can be removed without losing the important completeness property by restricting the underlying term rewriting systems to leftlinear ..."
Abstract

Cited by 23 (4 self)
 Add to MetaCart
In this paper we study the nondeterminism between the inference rules of the lazy narrowing calculus lnc (Middeldorp et al., 1996). We show that all nondeterminism can be removed without losing the important completeness property by restricting the underlying term rewriting systems to leftlinear con uent constructor systems and interpreting equality as strict equality. For the subclass of orthogonal constructor systems the resulting narrowing calculus is shown to have the nice property that solutions computed by di erent derivations starting from the same goal are incomparable. 1.
Standardization Theorem Revisited
, 1996
"... Standardization theorem is one of the most important theory for foundation of computation. Since it was firstly referred to by Curry and Feys, much effort have been made by several researchers. One of the most important work was done by Klop, who brought a nice idea to treat standardization in elega ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
Standardization theorem is one of the most important theory for foundation of computation. Since it was firstly referred to by Curry and Feys, much effort have been made by several researchers. One of the most important work was done by Klop, who brought a nice idea to treat standardization in elegant way. It is called the transformational approach. In this paper we follow his method but introduce a new labelling method which is suitable for analysis of standardization for term rewriting systems. We show proof of standardization theorem for leftlinear term rewriting systems with this labelling method. Furthermore, we also consider a standardization theorem for conditional term rewriting systems. Standardization is possible even for conditional system with extra variables in the righthand side of rewrite rules. This work is the first result towards standardization of conditional rewrite systems.
HigherOrder Lazy Narrowing Calculus: A Computation Model for a Higherorder Functional Logic Language
 In Proceedings of Sixth International Joint Conference, ALP '97  HOA '97, LNCS 1298
, 1997
"... this paper we present a computation model for a higherorder functional and logic programming. Although investigations of computation models for higherorder functional logic languages are under way[13, 9, 8, 20, 22], implemented functional logic languages like KLEAF[6] and Babel[18] among others, a ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
this paper we present a computation model for a higherorder functional and logic programming. Although investigations of computation models for higherorder functional logic languages are under way[13, 9, 8, 20, 22], implemented functional logic languages like KLEAF[6] and Babel[18] among others, are all based on firstorder models of computation. Firstorder narrowing has been used as basic computation mechanism. The lack of higherorderness is exemplified by the following prototypical program
Oriented Equational Logic Programming is Complete
 JOURNAL OF SYMBOLIC COMPUTATION
, 1996
"... ..."
Logicality of Conditional Rewrite Systems
, 2000
"... A conditional term rewriting system is called logical if it has the same logical strength as the underlying conditional equational system. In this paper we summarize known logicality results and we present new sufficient conditions for logicality of the important class of oriented conditional term ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
A conditional term rewriting system is called logical if it has the same logical strength as the underlying conditional equational system. In this paper we summarize known logicality results and we present new sufficient conditions for logicality of the important class of oriented conditional term rewriting systems.
Conditional Term Graph Rewriting
 In Proceedings of the 6th International Conference on Algebraic and Logic Programming
, 1997
"... . For efficiency reasons, term rewriting is usually implemented by graph rewriting. It is known that graph rewriting is a sound and complete implementation of (almost) orthogonal term rewriting systems; see [BEG + 87]. In this paper, we extend the result to properly oriented orthogonal conditional ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
. For efficiency reasons, term rewriting is usually implemented by graph rewriting. It is known that graph rewriting is a sound and complete implementation of (almost) orthogonal term rewriting systems; see [BEG + 87]. In this paper, we extend the result to properly oriented orthogonal conditional systems with strict equality. In these systems extra variables are allowed in conditions and righthand sides of rules. 1 Introduction Attempts to combine the functional and logic programming paradigms have recently been receiving increasing attention; see [Han94b] for an overview of the field. It has been argued in [Han95] that strict equality is the only sensible notion of equality for possibly nonterminating programs. In this paper, we adopt this point of viewso every functional logic program is regarded as an orthogonal conditional term rewriting system (CTRS) with strict equality. The standard operational semantics for functional (or equational) logic programming is conditional narr...
A Distributed System for Solving Equational Constraints Based on Lazy Narrowing Calculi
, 1999
"... In this paper we describe the architecture and implementation of a system that aims at extending in a consistent way a functional logic programming language with solving techniques of various constraint solving systems. The system is called CFLP (Constrained Functional Logic Programming language), a ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
In this paper we describe the architecture and implementation of a system that aims at extending in a consistent way a functional logic programming language with solving techniques of various constraint solving systems. The system is called CFLP (Constrained Functional Logic Programming language), and consists of a lazy functional logic interpreter extended in two directions: the possibility to specify constraints, and the possibility to specify AND and ORparallelism. For solving the constraints, a distributed constraint solving system was implemented.