1:- module(toplevel_variable_names, []).
8:- set_module(class(library)). 9 10 11user:expand_query(Goal, Expanded, Bindings, ExpandedBindings):- fail, 12 % Have vars to expand and varnames are empty 13 quietly((Bindings\==[],prolog_load_context(variable_names,Vs), Vs ==[])), % this prevents the loop 14 b_setval('$variable_names', Bindings), 15 debug(expand_query,'~q',[b_setval('$variable_names', Bindings)]), 16 expand_query(Goal, Expanded, Bindings, ExpandedBindings). 17 18 19 20/* 21 22 23user:expand_query(Goal, Expanded, Bindings, ExpandedBindings):- 24 % Have vars to expand and varnames are empty 25 quietly((Bindings\==[],prolog_load_context(variable_names,Vs), Vs ==[])), 26 b_setval('$variable_names', Bindings), % this prevents the loop 27 debug(expand_query,'~q',[b_setval('$variable_names', Bindings)]), 28 (toplevel_variables:expand_query(Goal, Expanded0, Bindings, ExpandedBindings0) -> true; 29 (Goal = Expanded0, Bindings = ExpandedBindings0)), 30 (user:expand_query(Expanded0, Expanded, ExpandedBindings0, ExpandedBindings) -> true ; 31 (Expanded0 = Expanded, ExpandedBindings0 = ExpandedBindings)). 32 33 34*/
Utility LOGICMOO TOPLEVEL VARIABLE NAMES
Allows manipulation of variables that were used in the query.