The programming language of Constraint Handling Rules (CHR) is gaining more and more popularity and this has motivated the development of new optimization techniques to be applied in implementations of CHR. As for other logic programming languages, a program written CHR can be understood declaratively as a logical formula and as a procedural specification, and CHR has different tools for manual optimization at the procedural level whose application may (or may not) sacrifice the declarative reading. % One such optimization is given by passive declarations by means of which the search for rules to be applied can be optimized, perhaps changing which rules that are applied and in which order. % A framework for analyzing the effect of passive declarations is presented in terms of a slightly abstract operational semantics which takes into account the effect of passive declarations. Based on it, we can give different classifications of the effect of some passive declarations that do not affect the logical semantics. This may be used for reasoning about manual optimizations as well as proposals for automatic strategies to be applied by a compiler for adding passive declarations.
Workshop Proceedings: Constraint Handling Rules: Proceedings of Chr 2005, Second Workshop on Constraint Handling Rules Workshop As International Conference on Logic Programming (iclp 2005), 2005, p. 93-108