object
coroutining
¶
Coroutining predicates.
Author: Paulo Moura
Version: 0.1
Date: 2019/1/5
Compilation flags:
static, context_switching_calls
(no dependencies on other entities)
Public interface¶
dif/2
¶
Sets a constraint that is true iff the two terms are different.
Compilation flags:
static
Template:
dif(Term1,Term2)
Mode and number of proofs:
dif(+term,+term)
- zero_or_one
freeze/2
¶
Delays the execution of a goal until a variable is bound.
Compilation flags:
static
Template:
freeze(Variable,Goal)
Meta-predicate template:
freeze(*,0)
Mode and number of proofs:
freeze(+term,+callable)
- zero_or_more
frozen/2
¶
Unifies Goal with the goal delayed by Variable. When no goals are frozen on Variable, Goal is unified with true.
Compilation flags:
static
Template:
frozen(Variable,Goal)
Mode and number of proofs:
frozen(@var,--callable)
- one
when/2
¶
Calls Goal when Condition becomes true. The portable conditions are: nonvar/1, ground/1, (,)/2, and (;)/2.
Compilation flags:
static
Template:
when(Condition,Goal)
Meta-predicate template:
when(*,0)
Mode and number of proofs:
when(+callable,+callable)
- zero_or_more
Protected interface¶
(none)
Private predicates¶
(none)
Operators¶
(none)
Remarks¶
- Supported backend Prolog systems: ECLiPSe, SICStus Prolog, SWI-Prolog, and YAP.