Up Next

1.1  Suspended Goals: suspend

The constraint solvers of ECLiPSe are all implemented using suspended goals. In fact the simplest implementation of any constraint is to suspend it until all its variables are sufficiently instantiated, and then test it.

The library suspend contains versions of the mathematical constraints >=, >, =:=, =\=, =<, < which behave like this1.


1
Note that the global flag coroutine has a similar effect: it causes the arithmetic comparisons as well as many other built-in predicates to delay until they are sufficiently instantiated

Up Next