10.34.4.1 Ports

For CHR constraints the four standard ports are defined:

call
A new constraint is called and becomes active.
exit
An active constraint exits: it has either been inserted in the store after trying all rules or has been removed from the constraint store.
fail
An active constraint fails.
redo
An active constraint starts looking for an alternative solution.

In addition to the above ports, CHR constraints have five additional ports:

wake
A suspended constraint is woken and becomes active.
insert
An active constraint has tried all rules and is suspended in the constraint store.
remove
An active or passive constraint is removed from the constraint store.
try
An active constraints tries a rule with possibly some passive constraints. The try port is entered just before committing to the rule.
apply
An active constraints commits to a rule with possibly some passive constraints. The apply port is entered just after committing to the rule.

Send feedback on this subject.