]> Repositorios git - scryer-prolog.git/commitdiff
tighten up numbervars
authorMark Thom <[email protected]>
Fri, 21 Sep 2018 13:29:07 +0000 (10:29 -0300)
committerMark Thom <[email protected]>
Fri, 21 Sep 2018 13:29:07 +0000 (10:29 -0300)
src/prolog/lib/numbervars.pl

index 84a1431d4a4511d93e6157e079f9b39ca710c561..7d81e89f6686c3648d69b073ef55a45f15470138 100644 (file)
@@ -14,7 +14,7 @@ numbervars(Term, NewTerm, N1, N2) :- compound(Term), !,
     Term =.. [Name | Args],
     NewTerm =.. [Name | NewArgs],
     fold_numbervars(Args, NewArgs, N1, N2).
-numbervars(_, _, _, _).
+numbervars(_, _, N, N).
 
 marked_already(Term, NewTerm) :-
     var(Term), nonvar(NewTerm), NewTerm = '$VAR'(_).
@@ -23,9 +23,7 @@ marked_already(Term, NewTerm) :-
 
 fold_numbervars([HeadTerm | Terms], [NewHeadTerm | NewTerms], N1, Nn) :-
     ( marked_already(HeadTerm, NewHeadTerm) -> N1 = N2
-    ; numbervars(HeadTerm, NewHeadTerm, N1, N2),
-      ( var(N2) -> N1 = N2
-      ; true )
+    ; numbervars(HeadTerm, NewHeadTerm, N1, N2)
     ),
     fold_numbervars(Terms, NewTerms, N2, Nn).
 fold_numbervars([], [], _, _).