From bc616ca7d84332f0d79f450a1cdb7d141e7f3938 Mon Sep 17 00:00:00 2001 From: Mark Date: Thu, 25 Jan 2024 12:37:46 -0700 Subject: [PATCH] move call_residue_vars/2 from atts.pl to iso_ext.pl --- src/lib/atts.pl | 9 --------- src/lib/iso_ext.pl | 9 +++++++++ src/tests/dif.pl | 4 ++-- src/tests/when.pl | 2 +- src/toplevel.pl | 6 ++---- tests/scryer/cli/issues/handle_residual_goal.stdin | 2 +- 6 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/lib/atts.pl b/src/lib/atts.pl index a1ba0f7d..f251b57d 100644 --- a/src/lib/atts.pl +++ b/src/lib/atts.pl @@ -1,5 +1,4 @@ :- module(atts, [op(1199, fx, attribute), - call_residue_vars/2, term_attributed_variables/2]). :- use_module(library(dcgs)). @@ -111,13 +110,5 @@ user:goal_expansion(Term, M:get_atts(Var, Attr)) :- nonvar(Term), Term = get_atts(Var, M, Attr). -:- meta_predicate call_residue_vars(0, ?). - -call_residue_vars(Goal, Vars) :- - can_be(list, Vars), - '$get_attr_var_queue_delim'(B), - call(Goal), - '$get_attr_var_queue_beyond'(B, Vars). - term_attributed_variables(Term, Vars) :- '$term_attributed_variables'(Term, Vars). diff --git a/src/lib/iso_ext.pl b/src/lib/iso_ext.pl index 3e17f218..3eb00a3e 100644 --- a/src/lib/iso_ext.pl +++ b/src/lib/iso_ext.pl @@ -9,6 +9,7 @@ but they're not part of the ISO Prolog standard at the moment. bb_put/2, call_cleanup/2, call_with_inference_limit/3, + call_residue_vars/2, forall/2, partial_string/1, partial_string/3, @@ -397,3 +398,11 @@ copy_term(Term, Copy, Gs) :- Gs = [] ; true ). + +:- meta_predicate call_residue_vars(0, ?). + +call_residue_vars(Goal, Vars) :- + can_be(list, Vars), + '$get_attr_var_queue_delim'(B), + call(Goal), + '$get_attr_var_queue_beyond'(B, Vars). diff --git a/src/tests/dif.pl b/src/tests/dif.pl index f0836007..c7dfbdd7 100644 --- a/src/tests/dif.pl +++ b/src/tests/dif.pl @@ -1,10 +1,10 @@ /**/ -:- use_module(library(format)). :- use_module(library(dcgs)). +:- use_module(library(format)). :- use_module(library(lists)). :- use_module(library(debug)). -:- use_module(library(atts)). +:- use_module(library(iso_ext)). :- use_module(library(dif)). % Tests from https://www.complang.tuwien.ac.at/ulrich/iso-prolog/dif diff --git a/src/tests/when.pl b/src/tests/when.pl index 197d2ee7..7356e42e 100644 --- a/src/tests/when.pl +++ b/src/tests/when.pl @@ -1,10 +1,10 @@ /**/ +:- use_module(library(iso_ext)). :- use_module(library(format)). :- use_module(library(dcgs)). :- use_module(library(lists)). :- use_module(library(debug)). -:- use_module(library(atts)). :- use_module(library(when)). diff --git a/src/toplevel.pl b/src/toplevel.pl index 25ad94aa..820d91d0 100644 --- a/src/toplevel.pl +++ b/src/toplevel.pl @@ -1,6 +1,5 @@ :- module('$toplevel', []). -:- use_module(library(atts), [call_residue_vars/2]). :- use_module(library(charsio)). :- use_module(library(error)). :- use_module(library(files)). @@ -28,7 +27,7 @@ load_scryerrc :- ). '$repl' :- - asserta('$toplevel':started), + asserta('$toplevel':started), raw_argv(Args0), ( append(Args1, ["--"|_], Args0) -> Args = Args1 @@ -186,7 +185,7 @@ submit_query_and_print_results_(Term, VarList) :- bb_put('$report_all', false), bb_put('$report_n_more', 0), expand_goal(Term, user, Term0), - atts:call_residue_vars(user:Term0, AttrVars), + call_residue_vars(user:Term0, AttrVars), write_eqs_and_read_input(B, VarList, AttrVars), !. submit_query_and_print_results_(_, _) :- @@ -451,4 +450,3 @@ print_exception_with_check(E) :- % is expected to be printed instead. ; print_exception(E) ). - diff --git a/tests/scryer/cli/issues/handle_residual_goal.stdin b/tests/scryer/cli/issues/handle_residual_goal.stdin index 7fc13d6f..1d7849f3 100644 --- a/tests/scryer/cli/issues/handle_residual_goal.stdin +++ b/tests/scryer/cli/issues/handle_residual_goal.stdin @@ -1,5 +1,5 @@ use_module(library(dif)). -use_module(library(atts)). +use_module(library(iso_ext)). -X\=X. -X=X. dif(-X,X). -- 2.54.0