Volatile Declarations

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 runtime, 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. See mpg-ref-volatile.

Send feedback on this subject.