fix mapnodes/2 (obs from Ingo Molnar).
This commit is contained in:
parent
21bbffceda
commit
c08e99a77c
@ -9553,10 +9553,9 @@ plus_if_pos(X,Y,Z) :- Y > 0, Z is X + Y.
|
|||||||
vars(X, Y, [X|Y]) :- var(X), !.
|
vars(X, Y, [X|Y]) :- var(X), !.
|
||||||
vars(_, Y, Y).
|
vars(_, Y, Y).
|
||||||
trans(TermIn, TermOut) :-
|
trans(TermIn, TermOut) :-
|
||||||
(compound(TermIn) ; atom(TermIn)),
|
nonvar(TermIn),
|
||||||
TermIn =.. [p|Args],
|
TermIn =.. [p|Args],
|
||||||
TermOut =..[q|Args],
|
TermOut =..[q|Args], !.
|
||||||
!.
|
|
||||||
trans(X,X).
|
trans(X,X).
|
||||||
|
|
||||||
%success
|
%success
|
||||||
@ -9567,8 +9566,8 @@ selectlist(<(0), [-1,0,1], [1]).
|
|||||||
convlist(plus_if_pos(1), [-1,0,1], [2]).
|
convlist(plus_if_pos(1), [-1,0,1], [2]).
|
||||||
sumlist(plus, [1,2,3,4], 1, 11).
|
sumlist(plus, [1,2,3,4], 1, 11).
|
||||||
mapargs(number_atom,s(1,2,3), s('1','2','3')).
|
mapargs(number_atom,s(1,2,3), s('1','2','3')).
|
||||||
sumargs(vars, s(1,X,2,Y), [], [Y,X]).
|
sumargs(vars, s(1,X,2,Y), [], [Y,X]).m
|
||||||
mapnodes(trans, p(a,p(b,a),c), q(a,q(b,a),c)).
|
apnodes(trans, p(a,p(b,a),c), q(a,q(b,a),c)).
|
||||||
checknodes(\==(T), p(X,p(Y,X),Z)).
|
checknodes(\==(T), p(X,p(Y,X),Z)).
|
||||||
sumnodes(vars, [c(X), p(X,Y), q(Y)], [], [Y,Y,X,X]).
|
sumnodes(vars, [c(X), p(X,Y), q(Y)], [], [Y,Y,X,X]).
|
||||||
% another one
|
% another one
|
||||||
|
@ -206,7 +206,7 @@ sumargs_args(Pred, Term, A1, A3, N) :-
|
|||||||
sumargs_args(Pred, Term, A2, A3, N1).
|
sumargs_args(Pred, Term, A2, A3, N1).
|
||||||
|
|
||||||
mapnodes(Pred, TermIn, TermOut) :-
|
mapnodes(Pred, TermIn, TermOut) :-
|
||||||
(atomic(TermIn); var(TermOut)), !,
|
(atomic(TermIn); var(TermIn)), !,
|
||||||
call(Pred, TermIn, TermOut).
|
call(Pred, TermIn, TermOut).
|
||||||
mapnodes(Pred, TermIn, TermOut) :-
|
mapnodes(Pred, TermIn, TermOut) :-
|
||||||
call(Pred, TermIn, Temp),
|
call(Pred, TermIn, Temp),
|
||||||
|
Reference in New Issue
Block a user