For CHR constraints the four standard ports are defined:
- A new constraint is called and becomes active.
- An active constraint exits: it has either been inserted in the store after
trying all rules or has been removed from the constraint store.
- An active constraint fails.
- An active constraint starts looking for an alternative solution.
In addition to the above ports, CHR constraints have five additional
- A suspended constraint is woken and becomes active.
- An active constraint has tried all rules and is suspended in
the constraint store.
- An active or passive constraint is removed from the constraint
- An active constraints tries a rule with possibly some passive
constraints. The try port is entered just before committing to the
- An active constraints commits to a rule with possibly some passive
constraints. The apply port is entered just after committing to the
Send feedback on this subject.