call_preprocess(+CHR0, -CHR) is det[private]- Call user chr:
preprocess(CHR0, CHR)
.
debug_event(+State, +Event)[multifile]- Hook into the CHR debugger. At this moment we will discard CHR
events if we are in a Prolog `skip' and we ignore the
debug_interact(+Event, +Depth, -Command)[multifile]- Hook into the CHR debugger to display Event and ask for the next
command to execute. This definition causes the normal Prolog
debugger to be used for the standard ports.
debug_ask_continue(-Command) is semidet[multifile]- Hook to ask for a CHR debug continuation. Must bind Command to
one of
creep
, skip
, ancestors
, nodebug
, abort
, fail
,
break
, help
or exit
.
chr_residuals// is det[private]- Find the CHR constraints from the store. These are accessible
through the nondet predicate current_chr_constraint/1. Doing a
findall/4 however would loose the bindings. We therefore rolled
findallv/4, which exploits non-backtrackable assignment and
realises a copy of the template without disturbing the bindings
using this strangely looking construct. Note that the bindings
created by the unifications are in New, which is newer then the
latest choicepoint and therefore the bindings are not trailed.
duplicate_term(Templ, New),
New = Templ
in_chr_context is semidet[private]- True if we are expanding into a context where the chr module is
loaded.
term_colours(+Term, -Colours)[private]- Colourisation of a toplevel term as read from the file.
goal_colours(+Goal, -Colours)[private]- Colouring of special goals.
Re-exported predicates
The following predicates are exported from this file while their implementation is defined in imported modules or non-module files loaded by this module.
find_chr_constraint(-Constraint) is nondet- True when Constraint is a currently known constraint in any
known CHR module.
- deprecated
- - current_chr_constraint/1 handles modules.
current_chr_constraint(:Constraint) is nondet- True if Constraint is a constraint associated with the qualified
module.
Undocumented predicates
The following predicates are exported, but not or incorrectly documented.
chr_leash(Arg1)
chr_show_store(Arg1)
chr_trace
chr_notrace