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.