dif/2: Succeed unconditionally if the arguments are not unifiable.
This addresses one part of #135.
This commit is contained in:
@@ -38,11 +38,14 @@ verify_attributes(Var, Value, Goals) :-
|
|||||||
% Probably the world's worst dif/2 implementation. I'm open to
|
% Probably the world's worst dif/2 implementation. I'm open to
|
||||||
% suggestions for improvement.
|
% suggestions for improvement.
|
||||||
|
|
||||||
dif(X, Y) :- X \== Y,
|
dif(X, Y) :-
|
||||||
( term_variables(X, XVars), term_variables(Y, YVars),
|
X \== Y,
|
||||||
dif_set_variables(XVars, X, Y),
|
( X \= Y -> true
|
||||||
dif_set_variables(YVars, X, Y)
|
; ( term_variables(X, XVars), term_variables(Y, YVars),
|
||||||
).
|
dif_set_variables(XVars, X, Y),
|
||||||
|
dif_set_variables(YVars, X, Y)
|
||||||
|
)
|
||||||
|
).
|
||||||
|
|
||||||
gather_dif_goals([]) --> [].
|
gather_dif_goals([]) --> [].
|
||||||
gather_dif_goals([(X \== Y) | Goals]) -->
|
gather_dif_goals([(X \== Y) | Goals]) -->
|
||||||
|
|||||||
Reference in New Issue
Block a user