From 01e57f83ee63cdb430cfc4dacdda474688462f82 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Tue, 23 Apr 2019 20:27:47 -0600 Subject: [PATCH] address issues #111 and #108 --- src/prolog/lib/between.pl | 3 ++- src/prolog/lib/lists.pl | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/prolog/lib/between.pl b/src/prolog/lib/between.pl index 6def3ce7..38d058c8 100644 --- a/src/prolog/lib/between.pl +++ b/src/prolog/lib/between.pl @@ -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) :- diff --git a/src/prolog/lib/lists.pl b/src/prolog/lib/lists.pl index b058b2c5..0e4ae7a3 100644 --- a/src/prolog/lib/lists.pl +++ b/src/prolog/lib/lists.pl @@ -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) ). -- 2.54.0