Implementation of narrowing: the Prolog-based approach
Logic programming languages
Dynamic detection of determinism in functional logic languages
PLILP '91 Selected papers of the symposium on Programming language implementation and logic programming
Term rewriting and all that
Journal of the ACM (JACM)
A Demand Driven Computation Strategy for Lazy Narrowing
PLILP '93 Proceedings of the 5th International Symposium on Programming Language Implementation and Logic Programming
TOY: A Multiparadigm Declarative System
RtA '99 Proceedings of the 10th International Conference on Rewriting Techniques and Applications
Proceedings of the Third International Conference on Algebraic and Logic Programming
Constructor-based conditional narrowing
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
Implementing Dynamic-Cut in TOY
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
The detection of deterministic computations at run-time can be used to introduce dynamic cuts pruning the search space and thus increasing the efficiency of Functional-Logic systems. This idea was introduced in an early work of R. Loogen and S. Winkler. However the proposal of these authors cannot be used in current implementations because it did not consider non-deterministic functions and was not oriented to the demand driven strategy. Our work adapts and extends the technique, both showing how to deal with non-deterministic computations and how definitional trees can be employed to locate the places where the cuts will be introduced. An implementation based on a Prolog-translation is proposed, making the technique easy to implement in current systems generating Prolog code. Some experiments showing the effectiveness of the cut are presented.