library(chr)
. They are
activated if the compiled file has the .chr
extension or
after finding a declaration in the following format:
:- chr_constraint ...
It is advised to define CHR rules in a module file, where the module declaration is immediately followed by including the library(chr) library as exemplified below:
:- module(zebra, [ zebra/0 ]). :- use_module(library(chr)). :- chr_constraint ...
Using this style, CHR rules can be defined in ordinary Prolog .pl files and the operator definitions required by CHR do not leak into modules where they might cause conflicts.