The CHR runtime system reports instantiation and type errors for the predicates:
find_constraint/2
findall_constraints/3
insert_constraint/2
remove_constraint/1
notify_constrained/1
The only other CHR specific runtime error is:
! CHR: registering New, module Module already hosts Old
An attempt to load a second handler New into module Module already hosting handler Old was made.
The following exceptional conditions are detected by the CHR compiler:
! CHR Compiler: syntax rule N: Term
If the N-th Term in the file being loaded violates the CHR syntax (see CHR Syntax).
! CHR Compiler: too many general heads in Name
Unspecific heads in definitions like C \ C <=> true
must
not be combined with other heads in rule Name.
! CHR Compiler: bad pragma Pragma in Name
The pragma Pragma used in rule Name does not qualify. Currently this only happens if Pragma is unbound.
! CHR Compiler: found head F/A in Name, expected one of: F/A list
Rule Name has a head of given F/A, which is not among the defined constraints.
! CHR Compiler: head identifiers in Name are not unique variables
The identifiers to refer to individual constraints (heads) via
#
in rule Name do not meet the indicated requirements.
! CHR Compiler: no handler defined
CHR specific language elements, declarations or rules for example, are used before a handler was defined. This error is usually reported a couple of times, i.e. as often as there are CHR forms in the file expecting the missing definition.
! CHR Compiler: compilation failed
Not your fault. Send us a bug report.