keen/range

Source
This is a standard module and does not need to be explicitly imported.
range[t] record
low t
high t
low is inclusive and high is exclusive. Use .. to construct a range.
..[t] t range(low t, high t) t compare
forward-rangeable[t] spec t compare
next t(a t)
difference[t] spec
difference nat64(a t, b t)
subtract-to-nat[t] spec
- nat64(a t, b t)
difference[t] nat64(a t, b t) t subtract-to-nat
rangeable[t] spec t forward-rangeable
prev t(a t)
size[t] nat64(a t range) t difference
some[t] bool(a t range, f bool mut(t)) t forward-rangeable
some-reverse[t] bool(a t range, f bool mut(t)) t rangeable
subscript nat64 range(a nat64 range, b nat64 range)
==[t] bool(a t range, b t range) t equal
is-empty[t] bool(a t range) t equal
range-iterator[t] record (has private fields)
begin[t] t range-iterator(a t range)
end[t] t range-iterator(a t range)
take-prev[t] t(a t range-iterator) t rangeable
take-next[t] t(a t range-iterator) t forward-rangeable
in[t] bool(a t, b t range) t compare
clamp[t] t(a t, range t range) t rangeable