9.4.3 CHR Debugging Predicates
Thelibrary(chr)
module
contains several predicates that allow inspecting and printing the
content of the constraint store.
- chr_trace
- Activate the CHR tracer. By default the CHR tracer is activated and deactivated automatically by the Prolog predicates trace/0 and notrace/0.
- chr_notrace
- Deactivate the CHR tracer. By default the CHR tracer is activated and deactivated automatically by the Prolog predicates trace/0 and notrace/0.
- chr_leash(+Spec)
- Define the set of CHR ports on which the CHR tracer asks for user
intervention (i.e. stops). Spec is either a list of ports as
defined in section
9.4.1 or a predefined‘alias’. Defined aliases are:
full
to stop at all ports,none
oroff
to never stop, anddefault
to stop at thecall
,exit
,fail
,wake
andapply
ports. See also leash/1. - chr_show_store(+Mod)
- Prints all suspended constraints of module Mod to the
standard output. This predicate is automatically called by the
SWI-Prolog top level at the end of each query for every CHR module
currently loaded. The Prolog flag
chr_toplevel_show_store
controls whether the top level shows the constraint stores. The valuetrue
enables it. Any other value disables it. - find_chr_constraint(-Constraint)
- Returns a constraint in the constraint store. Via backtracking, all constraints in the store can be enumerated.