Transformations of CCP programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Optimizing Compilation of Constraint Handling Rules
Proceedings of the 17th International Conference on Logic Programming
Essentials of Constraint Programming
Essentials of Constraint Programming
Essentials of Constraint Programming
Essentials of Constraint Programming
Transactions in Constraint Handling Rules
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
Theory and Practice of Logic Programming
The transformational approach to program development
A 25-year perspective on logic programming
Hi-index | 0.00 |
Program transformation is an appealing technique which allows to improve run-time efficiency, space-consumption and more generally to optimize a given program. Essentially it consists of a sequence of syntactic program manipulations which preserves some kind of semantic equivalence. One of the basic operations which is used by most program transformation systems is unfolding which consists in the replacement of a procedure call by its definition. While there is a large body of literature on transformation and unfolding of sequential programs, very few papers have addressed this issue for concurrent languages and, to the best of our knowledge, no one has considered unfolding of CHR programs. This paper is a first attempt to define a correct unfolding system for CHR programs. We define an unfolding rule, show its correctness and discuss some conditions which can be used to delete an unfolded rule while preserving the program meaning.