next up previous index
Next: Debugger Up: ECLiPSe Features Previous: Event Handling

Coroutining

The user can express a condition under which a call to a specified procedure will be delayed. This condition can be expressed in a normal Prolog form using unification and predicate calls. The delayed predicates are resumed when one of the specified variables is bound and the delay condition is then verified again. This goal suspension can be used to preserve completeness e.g. when avoiding infinite loops, to increase efficiency by reordering subgoals, to have sound negation and to implement coroutines.

The user can also process suspensions explicitly which makes it possible to implement almost any control strategy.



Micha Meier
Mon Mar 4 12:11:45 MET 1996