Scheme Request for Implementation 231,
"Intervals and Generalized Arrays,"
by Bradley J. Lucier,
has gone into final status.
The document and an archive of the discussion are available at
Here's the abstract:
This SRFI specifies an array mechanism for Scheme. Arrays as defined
here are quite general; at their most basic, an array is simply a
mapping, or function, from multi-indices of exact integers
i₀, …, i_(d − 1) to Scheme values. The set of multi-indices
i₀, …, i_(d − 1) that are valid for a given array form the domain of
the array. In this SRFI, each array's domain consists of the cross
product of intervals of exact integers
[l₀, u₀) × [l₁, u₁) × ⋯ × [l_(d − 1), u_(d − 1)) of ℤ^(d), d-tuples of
integers. Thus, we introduce a data type called d-intervals, or more
briefly intervals, that encapsulates this notion. (We borrow this
terminology from, e.g., Elias Zakon's Basic Concepts of Mathematics.)
Specialized variants of arrays provide portable programs with
efficient representations for common use cases.
This is a revised and improved version of SRFI 179.
Here is the commit summary since the most recent draft:
- Update image examples.
- "three" => "four" per Bradley
- Fix typos, hyphenation.
- Prepare for finalization.
- "non-null" => "nonempty" per Bradley
Here are the diffs since the most recent draft:
Many thanks to Bradley and to everyone who contributed to the discussion
of this SRFI.