[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: More names nitpicking
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