Introduction to combinators and &lgr;-calculus
Introduction to combinators and &lgr;-calculus
Higher-order unification revisited: Complete sets of transformations
Journal of Symbolic Computation
Foundations of Equational Logic Programming
Foundations of Equational Logic Programming
Kernel-LEAF: a logic plus functional language
Journal of Computer and System Sciences
Handbook of theoretical computer science (vol. B)
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
Logic programming with functions and predicates: the language Babel
Journal of Logic Programming
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Combining functional and logic programming languages
ILPS '94 Proceedings of the 1994 International Symposium on 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
Call by need computations to root-stable form
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Term rewriting and all that
Automated Theorem-Proving for Theories with Simplifiers Commutativity, and Associativity
Journal of the ACM (JACM)
An Efficient Unification Algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Solving Higher-Order Equations: From Logic to Programming
Solving Higher-Order Equations: From Logic to Programming
Higher-Order Narrowing with Convergent Systems
AMAST '95 Proceedings of the 4th International Conference on Algebraic Methodology and Software Technology
A Complete Narrowing Calculus for Higher-Order Functional Logic Programming
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
A Demand Driven Computation Strategy for Lazy Narrowing
PLILP '93 Proceedings of the 5th International Symposium on Programming Language Implementation and Logic Programming
Needed Narrowing in Prolog (Extended Abstract)
PLILP '96 Proceedings of the 8th International Symposium on Programming Languages: Implementations, Logics, and Programs
RTA '96 Proceedings of the 7th International Conference on Rewriting Techniques and Applications
Higher Order Conditional Rewriting and Narrowing
CCL '94 Proceedings of the First International Conference on Constraints in Computational Logics
Proceedings of the Third International Conference on Algebraic and Logic Programming
On the Completeness of Narrowing as the Operational Semantics of Functional Logic Programming
CSL '92 Selected Papers from the Workshop on Computer Science Logic
Canonical Forms and Unification
Proceedings of the 5th Conference on Automated Deduction
Efficient Translation of Lazy Functional Logic Programs into Prolog
LOPSTR '95 Proceedings of the 5th International Workshop on Logic Programming Synthesis and Transformation
Leftmost outside-in narrowing calculi
Journal of Functional Programming
The Implementation of Functional Programming Languages (Prentice-Hall International Series in Computer Science)
Specialization of inductively sequential functional logic programs
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Type-based nondeterminism checking in functional logic programs
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
Cost-augmented narrowing-driven specialization
PEPM '02 Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
The narrowing-driven approach to functional logic program specialization
New Generation Computing - Partial evaluation and program transformation
A residualizing semantics for the partial evaluation of functional logic programs
Information Processing Letters
A Framework for Goal-Directed Bottom-Up Evaluation of Functional Logic Programs
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
A Practical Partial Evaluator for a Multi-Paradigm Declarative Language
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
Symbolic Profiling for Multi-paradigm Declarative Languages
LOPSTR '01 Selected papers from the 11th International Workshop on Logic Based Program Synthesis and Transformation
An implementation of narrowing strategies
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
A demand-driven narrowing calculus with overlapping definitional trees
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Cost-Augmented Partial Evaluation of Functional Logic Programs
Higher-Order and Symbolic Computation
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
Dynamic slicing based on redex trails
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Specialization of functional logic programs based on needed narrowing
Theory and Practice of Logic Programming
Lightweight program specialization via dynamic slicing
Proceedings of the 2005 ACM SIGPLAN workshop on Curry and functional logic 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
Fast narrowing-driven partial evaluation for inductively sequential programs
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Forward slicing of functional logic programs by partial evaluation
Theory and Practice of Logic 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
Equivalence of Two Formal Semantics for Functional Logic Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
Dynamic slicing of lazy functional programs based on redex trails
Higher-Order and Symbolic Computation
A Transformational Approach to Polyvariant BTA of Higher-Order Functional Programs
Logic-Based Program Synthesis and Transformation
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Operational semantics for declarative multi-paradigm languages
Journal of Symbolic Computation
Forward slicing of multi-paradigm declarative programs based on partial evaluation
LOPSTR'02 Proceedings of the 12th international conference on Logic based program synthesis and transformation
Using an abstract representation to specialize functional logic programs
LPAR'00 Proceedings of the 7th international conference on Logic for programming and automated reasoning
A higher-order demand-driven narrowing calculus with definitional trees
ICTAC'07 Proceedings of the 4th international conference on Theoretical aspects of computing
Multi-paradigm declarative languages
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Rewriting and call-time choice: the HO case
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
An integrated framework for the diagnosis and correction of rule-based programs
Theoretical Computer Science
Transformation and debugging of functional logic programs
A 25-year perspective on logic programming
A Theoretical Framework for the Higher-Order Cooperation of Numeric Constraint Domains
Electronic Notes in Theoretical Computer Science (ENTCS)
A modular semantics for higher-order declarative programming with constraints
Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
Transforming functional logic programs into monadic functional programs
WFLP'10 Proceedings of the 19th international conference on Functional and constraint logic programming
Nondeterminism analysis of functional logic programs
ICLP'05 Proceedings of the 21st international conference on Logic Programming
Run-time profiling of functional logic programs
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
WFLP'09 Proceedings of the 18th international conference on Functional and Constraint Logic Programming
Hi-index | 0.00 |
Functional logic languages with a sound and complete operational semantics are mainly based on an inference rule called narrowing. Narrowing extends functional evaluation by goal solving capabilities, as in logic programming. Due to the huge search space of simple narrowing, steadily improved narrowing strategies have been developed in the past. Needed narrowing is currently the best narrowing strategy for first-order functional logic programs due to its optimality properties wrt the length of derivations and the number of computed solutions. In this paper, we extend the needed narrowing strategy to higher-order functions and λ-terms as data structures. By the use of definitional trees, our strategy computes only independent solutions. Thus, it is the first calculus for higher-order functional logic programming which provides for such an optimality result. Since we allow higher-order logical variables denoting λ-terms, applications go beyond current functional and logic programming languages. We show soundness and completeness of our strategy with respect to LNT reductions, a particular form of higher-order reductions defined via definitional trees. A general completeness result is only provided for terminating rewrite systems due to the lack of an overall theory of higher-order reduction which is outside the scope of this paper.