SRFI followup: Add interval-rebase and array-rebase
Bradley Lucier 07 Sep 2025 01:56 UTC
Added interval-rebase and array-rebase, which is slightly more general
than Chibi's array-to-origin. Here the default lower bounds is the
origin, but you can specify other lower bounds, too.
The Github repository with this branch:
https://github.com/gambiteer/srfi-231/tree/231-bis?tab=readme-ov-file
Brad
Things to change in a future library:
1. There should be a single library, without "safe" and "unsafe"
versions. Invoking (array-{getter|setter} A) checks the validity of
arguments. (Done.)
Perhaps %%array-unsafe-{getter|setter} should be exported as
array-unsafe-{getter|setter} for library builders.
2. Get rid of array-freeze! (Done)
3. Do not fix the order of evaluation of array elements in arguments to
the "bang" (!) procedures.
4. Add (array-rebase array [lower-bounds]) to translate an array to
given lower bounds. (Done)
5. Add broadcasting of arrays and adding new axes to arrays.
6. Add interval-{every|any} as wrappers around %%interval-{every|any}.
7. Add a notation for quickly specifying Bawden-style array
transformations similar to that of NumPy or Racket's math/array.