]> Repositorios git - scryer-prolog.git/commitdiff
condense reverse even further
authorMark Thom <[email protected]>
Mon, 4 Mar 2019 00:36:20 +0000 (17:36 -0700)
committerMark Thom <[email protected]>
Mon, 4 Mar 2019 00:36:20 +0000 (17:36 -0700)
src/prolog/lib/dif.pl
src/prolog/lib/lists.pl

index e830a206dc10549c30b715925c35990428973654..72101b825ff2749e0c04f0180ae00e8973a800dd 100644 (file)
@@ -37,7 +37,8 @@ verify_attributes(Var, Value, Goals) :-
 % suggestions for improvement.
 
 dif(X, Y) :- X \== Y,
-             (   term_variables(X, XVars), term_variables(Y, YVars),
+             (   X \= Y -> true
+            ;   term_variables(X, XVars), term_variables(Y, YVars),
                 dif_set_variables(XVars, X, Y),
                 dif_set_variables(YVars, X, Y)
             ).
index 7382a14451cf04a03f55edbe5edf76e16fdf5c1d..b058b2c5d1d07c24b841d9013672f838217a9770 100644 (file)
@@ -42,13 +42,13 @@ append([X|L], R, [X|S]) :- append(L, R, S).
 memberchk(X, Xs) :- member(X, Xs), !.
 
 reverse(Xs, Ys) :-
-    (  var(Ys) -> reverse(Xs, Ys, [], [], Xs)
-    ;  reverse(Ys, Xs, [], [], Ys)
+    (  var(Ys) -> reverse(Xs, Ys, [], Xs)
+    ;  reverse(Ys, Xs, [], Ys)
     ).
 
-reverse([], [], XsRev, YsRev, YsRev).
-reverse([X1|Xs], [Y1|Ys], XsPreludeRev, YsPreludeRev, Xss) :-
-    reverse(Xs, Ys, [X1|XsPreludeRev], [Y1|YsPreludeRev], Xss).
+reverse([], [], YsRev, YsRev).
+reverse([X1|Xs], [Y1|Ys], YsPreludeRev, Xss) :-
+    reverse(Xs, Ys, [Y1|YsPreludeRev], Xss).
 
 maplist(_, []).
 maplist(Cont1, [E1|E1s]) :-