The concept of a supercompiler
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
The relation between logic and functional languages: A survey
Journal of Logic Programming
Error diagnosis in logic programming, an adaptation of E.Y. Shapiro's method
Journal of Logic Programming
Computing in Horn clause theories
Computing in Horn clause theories
Foundations of Equational Logic Programming
Foundations of Equational Logic Programming
Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
New Generation Computing - Selected papers from the international workshop on algorithmic learning theory,1990
Partial evaluation in logic programming
Journal of Logic Programming
Logic programming with functions and predicates: the language Babel
Journal of Logic Programming
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Incremental constraint satisfaction for equational logic programming
PLILP '91 Selected papers of the symposium on Programming language implementation and logic programming
Specialization of lazy functional logic programs
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A unified computation model for functional and logic programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A unifying view of functional and logic program specialization
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
Partial evaluation of functional logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Termination of term rewriting using dependency pairs
Theoretical Computer Science - Trees in algebra and programming
Journal of the ACM (JACM)
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Algorithmic Program DeBugging
Kima: An Automated Error Correction System for Concurrent Logic Programs
Automated Software Engineering
Narrowing-Driven Partial Evaluation of Functional Logic Programs
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
A Partial Evaluation Framework for Curry Programs
LPAR '99 Proceedings of the 6th International Conference on Logic Programming and Automated Reasoning
On the Operational Semantics of the Algebraic and Logic Programming Language LPG
Selected papers from the 10th Workshop on Specification of Abstract Data Types Joint with the 5th COMPASS Workshop on Recent Trends in Data Type Specification
Theoretical Foundations for the Declarative Debugging of Lazy Functional Logic Programs
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
Incremental Learning of Functional Logic Programs
FLOPS '01 Proceedings of the 5th International Symposium on Functional and Logic Programming
Unification in Conditional Equational Theories
EUROCAL '85 Research Contributions from the European Conference on Computer Algebra-Volume 2
An Automatic Composition Algorithm for Functional Logic Programs
SOFSEM '00 Proceedings of the 27th Conference on Current Trends in Theory and Practice of Informatics
TOY: A Multiparadigm Declarative System
RtA '99 Proceedings of the 10th International Conference on Rewriting Techniques and Applications
Safe Folding/Unfolding with Conditional Narrowing
ALP '97-HOA '97 Proceedings of the 6th International Joint Conference on Algebraic and Logic Programming
Canonical Forms and Unification
Proceedings of the 5th Conference on Automated Deduction
On Comleteness of Narrowing Strategies
CAAP '88 Proceedings of the 13th Colloquium on Trees in Algebra and Programming
Higher-order narrowing with definitional trees
Journal of Functional Programming
Rules + strategies for transforming lazy functional logic programs
Theoretical Computer Science
Specialization of functional logic programs based on needed narrowing
Theory and Practice of Logic Programming
A rewriting-based inference system for the NRL Protocol analyzer and its meta-logical properties
Theoretical Computer Science - Automated reasoning for security protocol analysis
Higher-Order and Symbolic Computation
A simple rewrite notion for call-time choice semantics
Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programming
A lightweight interactive debugger for haskell
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
A flexible framework for programming with non-deterministicfunctions
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Narrowing for First Order Functional Logic Programs with Call-Time Choice Semantics
Applications of Declarative Programming and Knowledge Management
A fold/unfold transformation framework for rewrite theories extended to CCT
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Programming with singular and plural non-deterministic functions
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Evaluation strategies for functional logic programming
Journal of Symbolic Computation
Abstract diagnosis of functional programs
LOPSTR'02 Proceedings of the 12th international conference on Logic based program synthesis and transformation
Correction of functional logic programs
ESOP'03 Proceedings of the 12th European conference on Programming
Multi-paradigm declarative languages
ICLP'07 Proceedings of the 23rd international conference on Logic programming
Symbolic model checking of infinite-state systems using narrowing
RTA'07 Proceedings of the 18th international conference on Term rewriting and applications
Declarative diagnosis of missing answers in constraint functional-logic programming
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
All about maude - a high-performance logical framework: how to specify, program and verify systems in rewriting logic
An integrated framework for the diagnosis and correction of rule-based programs
Theoretical Computer Science
Hi-index | 0.00 |
The Italian contribution to functional-logic programming has been significant and influential in a number of areas of semantics, and semantics-based program manipulation techniques. We survey selected topics, with a particular regard to debugging and transformation techniques. These results as usual depend on the narrowing strategy which is adopted and on the properties satisfied by the considered programs. In this paper, we restrict ourselves to first-order functional-logic languages without non-deterministic functions. We start by describing some basic classical transformation techniques, namely folding and unfolding. Then, we recall the narrowing-driven partial evaluation, which is the first generic algorithm for the specialization of functional logic programs. Regarding debugging, we describe a goal-independent approach to automatic diagnosis and correction which applies the immediate consequence operator modeling computed answers to the diagnosis of bugs in functional logic programs. A companion bug-correction program synthesis methodology is described that attempts to correct the erroneous components of the wrong code.