A declaration
:- volatile :PredSpec, ..., :PredSpec.
where each PredSpec is a predicate spec, causes the specified predicates to become volatile.
A predicate should be declared as volatile if it refers to
data that cannot or should not be saved in a saved-state. In most
cases a volatile predicate will be dynamic, and it
will be used to keep facts about streams or memory
references. When a program state is saved at run-time, the
clauses of all volatile predicates will be left
unsaved. The predicate definitions will be saved though, which
means that the predicates will keep all its properties such as
volatile
, dynamic
or multifile
when the
saved-state is restored.