]> Repositorios git - scryer-prolog.git/commitdiff
use new call_residue_vars/2 in toplevel.pl (#847)
authorMark Thom <[email protected]>
Sun, 12 Mar 2023 22:59:03 +0000 (16:59 -0600)
committerMark Thom <[email protected]>
Sun, 12 Mar 2023 23:56:54 +0000 (17:56 -0600)
src/lib/atts.pl
src/toplevel.pl

index a5cd95821e1a9cd6b5d8e28684aa8cfe420a7d49..0521d4290d7a66cffe22451e848f232e24a3e0b6 100644 (file)
@@ -110,6 +110,9 @@ user:goal_expansion(Term, M:get_atts(Var, Attr)) :-
     nonvar(Term),
     Term = get_atts(Var, M, Attr).
 
+term_attributed_variables(Term, Vars) :-
+    '$term_attributed_variables'(Term, Vars).
+
 :- meta_predicate call_residue_vars(0, ?).
 
 call_residue_vars(Goal, Vars) :-
@@ -118,6 +121,3 @@ call_residue_vars(Goal, Vars) :-
     '$get_attr_var_queue_beyond'(B, AttrVars),
     '$project_atts':copy_term(AttrVars, AttrVars, Gs),
     '$term_attributed_variables_without_attrs'(Gs, Vars).
-
-term_attributed_variables(Term, Vars) :-
-    '$term_attributed_variables'(Term, Vars).
index 8caea7ba87d8a1c5e1957097e97c364bcb917175..0bab4415758c9a928f6df3aa02f572a6a2f1448c 100644 (file)
@@ -1,6 +1,7 @@
 :- module('$toplevel', [argv/1,
                         copy_term/3]).
 
+:- use_module(library(atts), [call_residue_vars/2]).
 :- use_module(library(charsio)).
 :- use_module(library(error)).
 :- use_module(library(files)).
@@ -180,8 +181,8 @@ submit_query_and_print_results_(Term, VarList) :-
     '$get_b_value'(B),
     bb_put('$report_all', false),
     bb_put('$report_n_more', 0),
-    call(user:Term),
-    write_eqs_and_read_input(B, VarList),
+    atts:call_residue_vars(user:Term, AttrVars),
+    write_eqs_and_read_input(B, VarList, AttrVars),
     !.
 submit_query_and_print_results_(_, _) :-
     (   bb_get('$answer_count', 0) ->
@@ -286,11 +287,10 @@ trailing_period_is_ambiguous(Value) :-
 term_variables_under_max_depth(Term, MaxDepth, Vars) :-
     '$term_variables_under_max_depth'(Term, MaxDepth, Vars).
 
-write_eqs_and_read_input(B, VarList) :-
+write_eqs_and_read_input(B, VarList, AttrVars) :-
     gather_query_vars(VarList, OrigVars),
     % one layer of depth added for (=/2) functor
     '$term_variables_under_max_depth'(OrigVars, 22, Vars0),
-    '$term_attributed_variables'(VarList, AttrVars),
     '$project_atts':project_attributes(Vars0, AttrVars),
     copy_term(AttrVars, AttrVars, AttrGoals),
     term_variables(AttrGoals, AttrGoalVars),