Download PDF

Workshop on Constraint Handling Rules, Date: 2008/07/14 - 2008/07/14, Location: Hagenberg, Austria

Publication date: 2008-07-14
Pages: 79 - 94

Proceedings of the fifth Workshop on Constraint Handling Rules

Author:

Van Weert, Peter
Schrijvers, Tom ; Frühwirth, Thom ; Raiser, Frank

Keywords:

CHR, Constraint Handling Rules, optimized compilation

Abstract:

Constraint Handling Rules (CHR) is an elegant, high-level programming language based on multi-headed, forward chaining rules. A distinguishing feature of CHR are propagation rules. To avoid trivial non-termination, CHR implementations ensure a CHR rule is applied at most once with the same combination of constraints by maintaining a so-called propagation history. The performance impact of this history is often significant. We introduce two optimizations to reduce or even eliminate this overhead, and evaluate their implementation in two state-of-the-art CHR systems.