[ Obsolete | Reference Manual | Alphabetic Index ]

# coroutine

Switches on the coroutine flag, equivalent to set_flag(coroutine, on).

### This built-in predicate is obsolete!

## Description

Used to switch the global coroutine-flag to on. This causes a subset of the built-in predicates not to raise instantiation faults any longer but to delay instead. This concerns all sufficiently logical predicates like the arithmetic built-ins, functor/3, arg/3, and many others.

### Modes and Determinism

- coroutine is det

## Examples

    [eclipse 1]: X>0.
    instantiation fault in X > 0
    [eclipse 2]: coroutine.

    yes.
    [eclipse 3]: X>0.

    X = X

    Delayed goals:
            X > 0
    yes.

## See Also

set_flag / 2