move call_residue_vars/2 from atts.pl to iso_ext.pl

This commit is contained in:
Mark
2024-01-25 12:37:46 -07:00
parent 99131131af
commit bc616ca7d8
6 changed files with 15 additions and 17 deletions

View File

@@ -1,5 +1,4 @@
:- module(atts, [op(1199, fx, attribute), :- module(atts, [op(1199, fx, attribute),
call_residue_vars/2,
term_attributed_variables/2]). term_attributed_variables/2]).
:- use_module(library(dcgs)). :- use_module(library(dcgs)).
@@ -111,13 +110,5 @@ user:goal_expansion(Term, M:get_atts(Var, Attr)) :-
nonvar(Term), nonvar(Term),
Term = get_atts(Var, M, Attr). 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) :-
'$term_attributed_variables'(Term, Vars). '$term_attributed_variables'(Term, Vars).

View File

@@ -9,6 +9,7 @@ but they're not part of the ISO Prolog standard at the moment.
bb_put/2, bb_put/2,
call_cleanup/2, call_cleanup/2,
call_with_inference_limit/3, call_with_inference_limit/3,
call_residue_vars/2,
forall/2, forall/2,
partial_string/1, partial_string/1,
partial_string/3, partial_string/3,
@@ -397,3 +398,11 @@ copy_term(Term, Copy, Gs) :-
Gs = [] Gs = []
; true ; 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).

View File

@@ -1,10 +1,10 @@
/**/ /**/
:- use_module(library(format)).
:- use_module(library(dcgs)). :- use_module(library(dcgs)).
:- use_module(library(format)).
:- use_module(library(lists)). :- use_module(library(lists)).
:- use_module(library(debug)). :- use_module(library(debug)).
:- use_module(library(atts)). :- use_module(library(iso_ext)).
:- use_module(library(dif)). :- use_module(library(dif)).
% Tests from https://www.complang.tuwien.ac.at/ulrich/iso-prolog/dif % Tests from https://www.complang.tuwien.ac.at/ulrich/iso-prolog/dif

View File

@@ -1,10 +1,10 @@
/**/ /**/
:- use_module(library(iso_ext)).
:- use_module(library(format)). :- use_module(library(format)).
:- use_module(library(dcgs)). :- use_module(library(dcgs)).
:- use_module(library(lists)). :- use_module(library(lists)).
:- use_module(library(debug)). :- use_module(library(debug)).
:- use_module(library(atts)).
:- use_module(library(when)). :- use_module(library(when)).

View File

@@ -1,6 +1,5 @@
:- module('$toplevel', []). :- module('$toplevel', []).
:- use_module(library(atts), [call_residue_vars/2]).
:- use_module(library(charsio)). :- use_module(library(charsio)).
:- use_module(library(error)). :- use_module(library(error)).
:- use_module(library(files)). :- use_module(library(files)).
@@ -186,7 +185,7 @@ submit_query_and_print_results_(Term, VarList) :-
bb_put('$report_all', false), bb_put('$report_all', false),
bb_put('$report_n_more', 0), bb_put('$report_n_more', 0),
expand_goal(Term, user, Term0), 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), write_eqs_and_read_input(B, VarList, AttrVars),
!. !.
submit_query_and_print_results_(_, _) :- submit_query_and_print_results_(_, _) :-
@@ -451,4 +450,3 @@ print_exception_with_check(E) :-
% is expected to be printed instead. % is expected to be printed instead.
; print_exception(E) ; print_exception(E)
). ).

View File

@@ -1,5 +1,5 @@
use_module(library(dif)). use_module(library(dif)).
use_module(library(atts)). use_module(library(iso_ext)).
-X\=X. -X\=X.
-X=X. -X=X.
dif(-X,X). dif(-X,X).