9 CHR: Constraint Handling Rules

This chapter is written by Tom Schrijvers, K.U. Leuven, and adjustments by Jan Wielemaker.

The CHR system of SWI-Prolog is the K.U.Leuven CHR system. The runtime environment is written by Christian Holzbaur and Tom Schrijvers while the compiler is written by Tom Schrijvers. Both are integrated with SWI-Prolog and licensed under compatible conditions with permission from the authors.

The main reference for the K.U.Leuven CHR system is:

On the K.U.Leuven CHR website (http://dtai.cs.kuleuven.be/CHR/) you can find more related papers, references and example programs.


Section Index


9.1 Introduction to CHR
9.2 CHR Syntax and Semantics
9.2.1 Syntax of CHR rules
9.2.2 Semantics of CHR
9.3 CHR in SWI-Prolog Programs
9.3.1 Embedding CHR in Prolog Programs
9.3.2 CHR Constraint declaration
9.3.3 CHR Compilation
9.4 Debugging CHR programs
9.4.1 CHR debug ports
9.4.2 Tracing CHR programs
9.4.3 CHR Debugging Predicates
9.5 CHR Examples
9.6 CHR compatibility
9.6.1 The Old SICStus CHR implementation
9.6.2 The Old ECLiPSe CHR implementation
9.7 CHR Programming Tips and Tricks
9.8 CHR Compiler Errors and Warnings
9.8.1 CHR Compiler Errors