Which scheme object is a multi-index? Bradley Lucier 28 Sep 2015 19:12 UTC

Per made a lot of good comments.  They raised in my mind some issues
that should be addressed in a context more general than in a reply to a
specific comment.

The first question is "What scheme object is a multi-index?", which was
prompted by his comments in the email with subject ""mutable-array
setter vs SRFI-17.

After considering this question over many years, I'd say that a
multi-index is literally a nonentity in scheme---it is what is returned
by the values procedure.  But what is returned by values is not reified
in scheme, it is not a scheme object, but what is returned by values can
be used as an argument list for a function.  (It may prove confusing
that an "argument list" in Scheme is not the same as a "list" object in

So array processing is fundamentally about processing argument lists
(not formal "lists" in the scheme sense), taken as members of intervals,
and using those argument lists in functions of various types.

It's somewhat difficult to slice and dice argument lists in Scheme
(whether to curry them, permute them, pick out a specialized direction,
etc.; perhaps languages such as ML and Haskell can co a better job of it.

This kind of thinking will inform my response to the email with subject

mutable-array setter vs SRFI-17