This is the sample implementation of
SRFI 196, which provides range
objects for Scheme. It should be portable to any R7RS-small
implementation with SRFI 128
(R7RS-large's (scheme comparator)
).
SRFI 145
and SRFI 78 (for tests) are optional
dependencies; bare-bones implementations are provided.
Abstract
From the SRFI document:
Ranges are immutable collections that can be enumerated but are represented algorithmically rather than by a per-element data structure. This SRFI defines a large subset of the sequence operations defined on lists, vectors, and other collections. If necessary, ranges can be converted to a list of its elements or a generator that will lazily produce each element in the range.
Author
Wolfgang Corcoran-Mathe wcm@sigwinch.xyz
Copyright
This is free software (MIT/X license). See LICENSE for details.