Section 4.3 defines the function vector-split-at. The example, however, uses
the name vector-split. This error does not occur in the reference
implementation, by the way.
Given the rather lucid name vector-split-at /index/, wouldn't
vector-split-on /predicate/ be better than vector-break (even if this
follows the traditions established in SRFI-1)? And is it really necessary to
define both vector-span and vector-break, which differ only in negating the
predicate? The same applies to vector-index and vector-skip.
I also noticed that several functions are available in two very similar
versions: one that takes a single vector and optional start/end arguments,
and one that takes several vector arguments. A single, more general function
might be more desirable, although there would be some overhead dealing with
keywords or argument types.
The function vector-map/index requires a procedure that takes an index and
some number of vectors as arguments. However, the required index argument is
passed as the last instead of the first argument. I find this non-intuitive,
and someone might want to define a procedure that takes an index and a
_variable_ number of vectors as arguments.
Regards
Michael Burschik