Re: More names nitpicking Taylor Campbell 09 Apr 2003 18:24 UTC

On Wednesday, April 9, 2003, at 04:07 AM, Michael Burschik wrote:

> 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.

Whoops.

> 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 like the idea of VECTOR-SPLIT-ON instead of VECTOR-SPAN.  Indeed,
VECTOR-SPAN
is -very- non-intuitive.  Should only a couple more people agree with
us, then
I'll change VECTOR-SPAN to VECTOR-SPLIT-ON.

About VECTOR-BREAK, I'll wait to see what more people have to say about
it.  I
personally don't care either way.

> 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.

I noticed this, too, and couldn't really decide which should take
ranges and
which should take any number of vectors.  I considered using what
Sunterlib's
collection library used, which was to have a 'VECTOR-FOO,' which took a
vector,
some other arguments, and a range; and a 'VECTORS-FOO,' which took any
number of
vectors and whatever other arguments.  This seemed a little excessive,
though,
so I didn't do it, but if there is a general consensus that people
would like to
do things that way, I'd be happy to include them.

> 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.

I agree that this is a little non-intuitive.  I made the index be the
last
argument merely because SRFIs 1 and 13 had their LIST/STRING-FOLD and
such
functions take the KNIL argument last (and if there are several people
who would
like me to change that, too, I'd be happy to), so I made the index
argument be
last.

>
> Regards
>
> Michael Burschik
>