freeze/2
freeze(+Flag, +Goal)
Blocks Goal until Flag is bound.
term
callable, must be nonvar
Defined as if by:
freeze(X, Goal) :- when(nonvar(X), Goal).
or
:- block freeze(-, ?). freeze(_, Goal) :- Goal.
Depends on Goal.
Call errors (see ref-sem-exc).