Section "meta"

The Dogelog player handling of predicates and clauses has evolved. It went from the ability to only rollback monotonic changes caused by dynamic/1, assertz/1 and assertz/2, to the rollback of non-monotonic changes as well caused by abolish/1 and retract/1. This also affects the dynamic predicates that define the Dogelog player runtime system.

To make the Prolog text loader task aware and to implement a quasi-parallel mutex around ensure_loaded/1 the built-in shield/1 is used. Temporary meta data during Prolog text loading such as sys_including/3 and sys_lastpred/3 have a task parameter, making the dynamic predicate task local

sys_op/4
sys_source/3
sys_srcprop/2
sys_predprop/3
sys_lastpred/3
sys_including/3
sys_emulated/2

The above predicates are suppressed during listing/[0,1].

Kommentare