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.