
tabling.pl -- Tabled execution (SLG WAM)This library handled tabled execution of predicates using the characteristics if the SLG WAM. The required suspension is realised using delimited continuations implemented by reset/3 and shift/1. The table space and work lists are part of the SWI-Prolog core.
table +PredicateIndicators:- table edge/2, statement//1.
In addition to using predicate indicators, a predicate can be declared for mode directed tabling using a term where each argument declares the intended mode. For example:
:- table connection(_,_,min).
Mode directed tabling is discussed in the general introduction section about tabling.
start_tabling(:Wrapper, :Implementation)
start_tabling(:Wrapper, :Implementation, +Variant, +ModeArgs)
abolish_all_tables
abolish_table_subgoals(:Subgoal) is det
current_table(:Variant, -Trie) is nondet
prolog:rename_predicate(:Head0, :Head) is semidet[multifile]