]> Repositorios git - scryer-prolog.git/commitdiff
address issues #111 and #108
authorMark Thom <[email protected]>
Wed, 24 Apr 2019 02:27:47 +0000 (20:27 -0600)
committerMark Thom <[email protected]>
Wed, 24 Apr 2019 02:27:47 +0000 (20:27 -0600)
src/prolog/lib/between.pl
src/prolog/lib/lists.pl

index 6def3ce76fae9120532d24a502f8b87ecf90d5bd..38d058c8c1b5c9d236a2ffb9d58fed864197228e 100644 (file)
@@ -8,6 +8,7 @@
 between(Lower, Upper, X) :-
     must_be(integer, Lower),
     must_be(integer, Upper),
+    can_be(integer, X).
     between_(Lower, Upper, X).
 
 between_(Lower, Upper, Lower) :-
@@ -15,7 +16,7 @@ between_(Lower, Upper, Lower) :-
 between_(Lower1, Upper, X) :-
     Lower1 < Upper,
     Lower2 is Lower1 + 1,
-    between(Lower2, Upper, X).
+    between_(Lower2, Upper, X).
 
 enumerate_nats(I, I).
 enumerate_nats(I0, N) :-
index b058b2c5d1d07c24b841d9013672f838217a9770..0e4ae7a367290f90a22b02272238fb195e8ac020 100644 (file)
@@ -42,7 +42,7 @@ 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)
+    (  nonvar(Xs) -> reverse(Xs, Ys, [], Xs)
     ;  reverse(Ys, Xs, [], Ys)
     ).