This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Ticket 85: Blobs, bytevectors, byte-vectors, octet-vectors, or something else?

2012-08-27 06:56:47
WG1 - Core
alexshinn
major
cowan
fixed
source
closed
2010-10-18 03:20:08
defect

Now that we have blobs, we have to decide what to call them.

I think that we should go with bytevectors, which is a fairly clear name, has precedent and is in widespread common use.

Outside R6RS, the most common name is u8vector, tracking SRFI 4. However, byte-vector, vector-b8, blob, and other names are also in use.

I favor blob myself, because blobs can be analyzed in any number of ways, not just as vectors of bytes.

Blob doesn't really mean anything though, which is why I don't like it. It doesn't give you any suggestions about how you might interact with it, when in actuality, we are enforcing a certain basic idea: a vector of bytes. Whether we extract those bytes out and use them in various different ways doesn't detract from this. Blob just kind of sounds ugly to me, as well. A vector of bytes implies what I want in the interface, namely that you reference elements in that vector by byte offset, that you treat it like a contiguous set of bytes, and so forth. Blob could mean anything to me, and I have no intuition about its interface. u8vector is okay, as is byte-vector and vector-b8, but each of those is, IMO, less convenient or more obtuse than bytevector.

resolution
statusnewdecided

We voted to use the R6RS term bytevector.

statusdecidedwriting
resolutionfixed
statuswritingclosed

Reopened due to public comments.

resolutionfixed
statusclosedreopened
statusreopeneddecided

WG1 decided to keep the name bytevector.

resolutionfixed
statusdecidedclosed