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
resolution␣fixed
statuswritingclosed

Reopened due to public comments.

resolutionfixed␣
statusclosedreopened
statusreopeneddecided

WG1 decided to keep the name bytevector.

resolution␣fixed
statusdecidedclosed