Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
An Open-Ended Finite Domain Constraint Solver
PLILP '97 Proceedings of the9th International Symposium on Programming Languages: Implementations, Logics, and Programs: Including a Special Trach on Declarative Programming Languages in Education
Compiling Constraint Handling Rules into Prolog with Attributed Variables
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
Extending arbitrary solvers with constraint handling rules
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Optimal union-find in Constraint Handling Rules
Theory and Practice of Logic Programming
Proceedings of the 2007 ACM symposium on Applied computing
Theory of finite or infinite trees revisited
Theory and Practice of Logic Programming
Tchr: A framework for tabled clp
Theory and Practice of Logic Programming
CHR for Imperative Host Languages
Constraint Handling Rules
Complete propagation rules for lexicographic order constraints over arbitrary domains
CSCLP'05 Proceedings of the 2005 Joint ERCIM/CoLogNET international conference on Constraint Solving and Constraint Logic Programming
Compiling CHR to parallel hardware
Proceedings of the 14th symposium on Principles and practice of declarative programming
Hi-index | 0.00 |
Constraint Handling Rules (CHRs) are a high-level rule-based programming language commonly used to define constraint solvers. We present a method for automatic implication checking between constraints of CHR solvers. Supporting implication is important for implementing extensible solvers and reification, and for building hierarchical CHR constraint solvers. Our method does not copy the entire constraint store, but performs the check in place using a trailing mechanism. The necessary code enhancements can be done by automatic program transformation based on the rules of the solver. We extend our method to work for hierarchically organized modular CHR solvers. We show the soundness of our method and its completeness for a restricted class of canonical solver as well as for specific existing non-canonical CHR solvers. We evaluate our trailing method experimentally by comparing with the copy approach: runtime is almost halved.