The constraint solvers of ECL^{i}PS^{e} 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 this^{1}.

- 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