[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

some comments



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