From: Mark Thom Date: Wed, 19 Feb 2020 22:55:56 +0000 (-0700) Subject: update between/3 to allow inf as upper bound X-Git-Tag: v0.8.118~4 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=617f803355d1cf1c0b38712b76a3ac647267b3f4;p=scryer-prolog.git update between/3 to allow inf as upper bound --- diff --git a/src/prolog/lib/between.pl b/src/prolog/lib/between.pl index 16c73145..a8e06882 100644 --- a/src/prolog/lib/between.pl +++ b/src/prolog/lib/between.pl @@ -6,10 +6,15 @@ :- use_module(library(error)). between(Lower, Upper, X) :- - must_be(integer, Lower), - must_be(integer, Upper), - can_be(integer, X), - between_(Lower, Upper, X). + ( Upper == inf -> + must_be(integer, Lower), + can_be(integer, X), + enumerate_nats(Lower, X) + ; must_be(integer, Lower), + must_be(integer, Upper), + can_be(integer, X), + between_(Lower, Upper, X) + ). between_(Lower, Upper, Lower) :- Lower =< Upper.