Availability:built-in
[ISO]dynamic :PredicateIndicator,
...Informs the interpreter that the definition of the predicate(s) may
change during execution (using assert/1
and/or retract/1).
In the multithreaded version, the clauses of dynamic predicates are
shared between the threads. The directive thread_local/1
provides an alternative where each thread has its own clause list for
the predicate. Dynamic predicates can be turned into static ones using
compile_predicates/1.