Linear concurrent constraint programming: operational and phase semantics
Information and Computation
Programming in Lygon: An Overview
AMAST '96 Proceedings of the 5th International Conference on Algebraic Methodology and Software Technology
CHRv: A Flexible Query Language
FQAS '98 Proceedings of the Third International Conference on Flexible Query Answering Systems
Essentials of Constraint Programming
Essentials of Constraint Programming
Essentials of Constraint Programming
Essentials of Constraint Programming
Monadic concurrent linear logic programming
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Automatic generation of CHR constraint solvers
Theory and Practice of Logic Programming
ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming, Part II
The computational power and complexity of constraint handling rules
ACM Transactions on Programming Languages and Systems (TOPLAS)
Constructing Rule-Based Solvers for Intentionally-Defined Constraints
Constraint Handling Rules
Constraint Handling Rules
A unified semantics for constraint handling rules in transaction logic
LPNMR'07 Proceedings of the 9th international conference on Logic programming and nonmonotonic reasoning
A complete and terminating execution model for constraint handling rules
Theory and Practice of Logic Programming
Hi-index | 0.00 |
Constraint Handling Rules (CHR) is a declarative rule-based programming language that has cut out its niche over the course of the last 20 years. It generalizes concurrent constraint logic programming to multiple heads, thus closing the gap to multiset transformation systems. Its popular extension CHR with Disjunction (CHR∨) is a multiparadigm declarative programming language that allows embedding of Horn programs with SLD resolution. We analyze the assets and the limitations of the classical declarative semantics of CHR∨ and highlight its natural relationship with linear-logic. We furthermore develop two linear-logic semantics for CHR∨ that differ in the reasoning domain for which they are instrumental. We show their idempotence and their soundness and completeness with respect to the operational semantics. We show how to apply the linear-logic semantics to decide program properties and to reason about operational equivalence of CHR∨ programs.