Results 1  10
of
60
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 291 (121 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.
The Tile Model
 PROOF, LANGUAGE AND INTERACTION: ESSAYS IN HONOUR OF ROBIN MILNER
, 1996
"... In this paper we introduce a model for a wide class of computational systems, whose behaviour can be described by certain rewriting rules. We gathered our inspiration both from the world of term rewriting, in particular from the rewriting logic framework [Mes92], and of concurrency theory: among the ..."
Abstract

Cited by 65 (24 self)
 Add to MetaCart
In this paper we introduce a model for a wide class of computational systems, whose behaviour can be described by certain rewriting rules. We gathered our inspiration both from the world of term rewriting, in particular from the rewriting logic framework [Mes92], and of concurrency theory: among the others, the structured operational semantics [Plo81], the context systems [LX90] and the structured transition systems [CM92] approaches. Our model recollects many properties of these sources: first, it provides a compositional way to describe both the states and the sequences of transitions performed by a given system, stressing their distributed nature. Second, a suitable notion of typed proof allows to take into account also those formalisms relying on the notions of synchronization and sideeffects to determine the actual behaviour of a system. Finally, an equivalence relation over sequences of transitions is defined, equipping the system under analysis with a concurrent semantics, ...
Argument Filtering Transformation
 In Proc. 1st PPDP, LNCS 1702
, 1999
"... To simplify the task of proving termination of term rewriting systems, several elimination methods, such as the dummy elimination, the distribution elimination, the general dummy elimination and the improved general dummy elimination, have been proposed. In this paper, we show that the argument lter ..."
Abstract

Cited by 39 (2 self)
 Add to MetaCart
To simplify the task of proving termination of term rewriting systems, several elimination methods, such as the dummy elimination, the distribution elimination, the general dummy elimination and the improved general dummy elimination, have been proposed. In this paper, we show that the argument ltering method combining with the dependency pair technique is essential in all the above elimination methods. We present remarkable simple proofs for the soundness of these elimination methods based on this observation. Moreover, we propose a new elimination method, called the argument ltering transformation, which is not only more powerful than all the other elimination methods but also especially useful to make clear the essential relation hidden behind these methods.
Overlapping Rules and Logic Variables in Functional Logic Programs
 In Twenty Second International Conference on Logic Programming
, 2006
"... Abstract. Functional logic languages extend purely functional languages with two features: operations defined by overlapping rules and logic variables in both defining rules and expressions to evaluate. In this paper, we show that only one of these features is sufficient in a core language. On the o ..."
Abstract

Cited by 35 (17 self)
 Add to MetaCart
Abstract. Functional logic languages extend purely functional languages with two features: operations defined by overlapping rules and logic variables in both defining rules and expressions to evaluate. In this paper, we show that only one of these features is sufficient in a core language. On the one hand, overlapping rules can be eliminated by introducing logic variables in rules. On the other hand, logic variables can be eliminated by introducing operations defined by overlapping rules. The proposed transformations between different classes of programs not only give a better understanding of the features of functional logic programs but also may simplify implementations of functional logic languages. 1
A 2Categorical Presentation of Term Graph Rewriting
 CATEGORY THEORY AND COMPUTER SCIENCE, VOLUME 1290 OF LNCS
, 1997
"... It is wellknown that a term rewriting system can be faithfully described by a cartesian 2category, where horizontal arrows represent terms, and cells represent rewriting sequences. In this paper we propose a similar, original 2categorical presentation for term graph rewriting. Building on a re ..."
Abstract

Cited by 34 (17 self)
 Add to MetaCart
It is wellknown that a term rewriting system can be faithfully described by a cartesian 2category, where horizontal arrows represent terms, and cells represent rewriting sequences. In this paper we propose a similar, original 2categorical presentation for term graph rewriting. Building on a result presented in [8], which shows that term graphs over a given signature are in onetoone correspondence with arrows of a gsmonoidal category freely generated from the signature, we associate with a term graph rewriting system a gsmonoidal 2category, and show that cells faithfully represent its rewriting sequences. We exploit the categorical framework to relate term graph rewriting and term rewriting, since gsmonoidal (2)categories can be regarded as "weak" cartesian (2)categories, where certain (2)naturality axioms have been dropped.
The NarrowingDriven Approach to Functional Logic Program Specialization
 New Generation Computing
, 2002
"... Partial evaluation is a semanticsbased program optimization technique which has been investigated within di#erent programming paradigms and applied to a wide variety of languages. Recently, a partial evaluation framework for functional logic programs has been proposed. ..."
Abstract

Cited by 33 (19 self)
 Add to MetaCart
Partial evaluation is a semanticsbased program optimization technique which has been investigated within di#erent programming paradigms and applied to a wide variety of languages. Recently, a partial evaluation framework for functional logic programs has been proposed.
An Abstract Standardisation Theorem
, 1992
"... The standardisation theorem is a key theorem in the calculus. It implies that any normal form can be reached by the normal order (leftmost outermost) strategy. The theorem states that any reduction may be rearranged in a topdown and lefttoright order. This also holds in orthogonal term rewriting ..."
Abstract

Cited by 28 (5 self)
 Add to MetaCart
The standardisation theorem is a key theorem in the calculus. It implies that any normal form can be reached by the normal order (leftmost outermost) strategy. The theorem states that any reduction may be rearranged in a topdown and lefttoright order. This also holds in orthogonal term rewriting systems (TRS), although the lefttoright order is more subtle. We give a new presentation of the standardisation property by means of four axioms about the residual and nesting relations on redexes. This axiomatic approach provides a better understanding of standardisation, and makes it applicable in other settings, such as dags or interaction networks. We also treat conflicts between redexes (critical pairs in TRS). The axioms include Berry's stability, proving it to be a intrinsic notion of deterministic calculi. 1 Introduction The calculus has two main syntactic theorems. One is the ChurchRosser theorem, which induces uniqueness of normal forms. The second one is the standardisation...
Optimal Normalization in Orthogonal Term Rewriting Systems
 In: Proc. of the 5 th International Conference on Rewriting Techniques and Applications, RTA'93
, 1993
"... . We design a normalizing strategy for orthogonal term rewriting systems (OTRSs), which is a generalization of the callbyneed strategy of HuetL'evy [4]. The redexes contracted in our strategy are essential in the sense that they have "descendants" under any reduction of a given term. There is an ..."
Abstract

Cited by 24 (20 self)
 Add to MetaCart
. We design a normalizing strategy for orthogonal term rewriting systems (OTRSs), which is a generalization of the callbyneed strategy of HuetL'evy [4]. The redexes contracted in our strategy are essential in the sense that they have "descendants" under any reduction of a given term. There is an essential redex in any term not in normal form. We further show that contraction of the innermost essential redexes gives an optimal reduction to normal form, if it exists. We classify OTRSs depending on possible kinds of redex creation as noncreating, persistent, insidecreating, nonleftabsorbing, etc. All these classes are decidable. TRSs in these classes are sequential, but they do not need to be strongly sequential. For noncreating and persistent OTRSs, we show that our optimal strategy is efficient as well. 1 Introduction In this paper, we study correct and optimal computations in Orthogonal Term Rewriting Systems (OTRSs). We only consider onestep rewriting strategies, which selec...