Conditional rewrite rules: Confluence and termination
Journal of Computer and System Sciences
Computational semantics of term rewriting systems
Algebraic methods in semantics
Kernel-LEAF: a logic plus functional language
Journal of Computer and System Sciences
Programming in equational logic: beyond strong sequentiality
Information and Computation - Special issue: selections from 1990 IEEE symposium on logic in computer science
A sequential reduction strategy
ALP Proceedings of the fourth international conference on Algebraic and logic programming
Lazy narrowing: strong completeness and eager variable elimination
TAPSOFT '95 Selected papers from the 6th international joint conference on Theory and practice of software development
A unified computation model for functional and logic programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A deterministic lazy narrowing calculus
Journal of Symbolic Computation
Strongly sequential and inductively sequential term rewriting systems
Information Processing Letters
Journal of the ACM (JACM)
Computing in Systems Described by Equations
Computing in Systems Described by Equations
A Demand Driven Computation Strategy for Lazy Narrowing
PLILP '93 Proceedings of the 5th International Symposium on Programming Language Implementation and Logic Programming
Proceedings of the Third International Conference on Algebraic and Logic Programming
Unravelings and Ultra-properties
ALP '96 Proceedings of the 5th International Conference on Algebraic and Logic Programming
Optimal Non-deterministic Functional Logic Computations
ALP '97-HOA '97 Proceedings of the 6th International Joint Conference on Algebraic and Logic Programming
An implementation of narrowing strategies
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
Leftmost outside-in narrowing calculi
Journal of Functional Programming
Functional Logic Programming with Failure: A Set-Oriented View
LPAR '01 Proceedings of the Artificial Intelligence on Logic for Programming
Narrowing Failure in Functional Logic Programming
FLOPS '02 Proceedings of the 6th International Symposium on Functional and Logic Programming
Dynamic-Cut with Definitional Trees
FLOPS '02 Proceedings of the 6th International Symposium on Functional and Logic Programming
An implementation of narrowing strategies
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
Conditional narrowing without conditions
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
A logic programming approach to the verification of functional-logic programs
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
New completeness results for lazy conditional narrowing
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
A semantics for tracing declarative multi-paradigm programs
PPDP '04 Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming
Designing an efficient computation strategy in CFLP(FD) using definitional trees
Proceedings of the 2005 ACM SIGPLAN workshop on Curry and functional logic programming
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Putting declarative programming into the web: translating curry to javascript
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
Set functions for functional logic programming
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Communications of the ACM
Operational semantics for declarative multi-paradigm languages
Journal of Symbolic Computation
Evaluation strategies for functional logic programming
Journal of Symbolic Computation
Programming with narrowing: A tutorial
Journal of Symbolic Computation
Multi-paradigm declarative languages
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Transforming functional logic programs into monadic functional programs
WFLP'10 Proceedings of the 19th international conference on Functional and constraint logic programming
KiCS2: a new compiler from Curry to Haskell
WFLP'11 Proceedings of the 20th international conference on Functional and constraint logic programming
Well-typed narrowing with extra variables in functional-logic programming
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Declarative programming with function patterns
LOPSTR'05 Proceedings of the 15th international conference on Logic Based Program Synthesis and Transformation
Overlapping rules and logic variables in functional logic programs
ICLP'06 Proceedings of the 22nd international conference on Logic Programming
Natural rewriting for general term rewriting systems
LOPSTR'04 Proceedings of the 14th international conference on Logic Based Program Synthesis and Transformation
Declarative constraint programming with definitional trees
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
A virtual machine for functional logic computations
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
Natural narrowing for general term rewriting systems
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
On the correctness of bubbling
RTA'06 Proceedings of the 17th international conference on Term Rewriting and Applications
Compiling a functional logic language: the basic scheme
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
Are needed redexes really needed?
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
A modular and generic analysis server system for functional logic programs
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.02 |
We define a transformation from a left-linear constructor-based conditional rewrite system into an overlapping inductively sequential rewrite system. This transformation is sound and complete for the computations in the source system. Since there exists a sound and complete narrowing strategy for the target system, the combination of these results offers the first procedure for provably sound and complete narrowing computations for the whole class of the leftlinear constructor-based conditional rewrite systems. We address the differences between demand driven and lazy strategies and between narrowing strategies and narrowing calculi. In this context, we analyze the efficiency and practicality of using our transformation for the implementation of functional logic programming languages. The results of this paper complement, extend, and occasionally rectify, previously published results in this area.