This page is part of the web mail archives of SRFI 66 from before July 7th, 2015. The new archives for SRFI 66 contain all messages, not just those from before July 7th, 2015.
First, I like this SRFI -- it should have been here long ago. I have a
few comments, though:
- MAKE-BYTE-VECTOR isn't exactly analogous to MAKE-VECTOR[*], in that
the fill argument isn't optional. It would be reasonable, I think,
to make the fill argument be optional with a default of 0, which
would make their signatures compatible.
- Could a BYTE-VECTOR-COPY!, similar to SRFI 13's STRING-COPY! & SRFI
43's VECTOR-COPY!, also be introduced? Such an operation is very
commonly used with byte vectors, and it is generally a good idea to
have such a low-level operation as this to be built-in to the byte
vector interface as a primitive, rather than always defined atop it
in utility libraries.
- It is explicitly unspecified whether byte vectors are disjoint from
vectors, but must byte vectors also be disjoint from strings? MIT
Scheme's byte vectors are not, for instance. It would be good, I
think, to add a note about that.
- Though it is obviously outside the scope of this SRFI, will there
be another SRFI or will R6RS include support for binary block I/O
with byte vectors? Perhaps Alex Shinn ought to be prodded about it
in SRFI 56.
[*] - A few of the 'analogous to ...'s of your procedure descriptions
accidentally refer to the byte vector operations, by the way, not the
regular vector operations; for instance, MAKE-BYTE-VECTOR's description
says: 'Analogous to MAKE-BYTE-VECTOR.'