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.