Table/1 outside directive

Can table/1 be used outside of a directive?
e.g.

enable_memoization :-
    table my_goal/1.

disable_memoization :-
    abolish_table_subgoals(my_goal(_)),
    % how would I disable table my_goal/1 here?

At the moment not. The latest (git) version is a lot closer to realise this. I surely plan to provide that as it facilitates creating tabled programs fully dynamically without creating a file.

1 Like

Great! This will be very useful!

If you do not mind building from source, please give the current git version (V8.1.7-4-gb83c00d95 or later) a try. You can call table/1 as a predicate and call untable/1 to remove the tabling (as well as the associated tables).

Jan,

Thanks, this is great! It is working well from my quick testing!