(Re-sending to the list, due to a garbled address.)
A few minor things:
(1) We should clarify the meaning of bytestring->list's start/end
arguments. I've assumed that start is inclusive, end exclusive, as
per usual.
(2) Several (non-mutating) procedures have cases in which they might
return a bytevector with the same contents of one of their bytevector
arguments. Should the result always be newly allocated? The affected
procedures are:
* bytestring-pad (etc.)
* bytestring-trim (etc.)
* bytestring-replace
* bytestring-break
* bytestring-span
* bytestring-split
Some of these use the "with the of contents of `bytevector'" language,
which I interpret as requiring a fresh bytevector. But some
clarification might be wise.
(There's also a weird possible implementation of bytestring->list that
raises the same issue: it's perfectly valid for (bytestring->list bvec)
to return (list bvec). But this seems like a weird corner case to me.)
(3) make-bytestring-generator needs to be added to the list of
procedures in the spec for bytestring-error?
--
Wolfgang Corcoran-Mathe <xxxxxx@sigwinch.xyz>
"What's our game? We have the ways of making things, but things are
evidence. Perhaps, one day, the thing we'll make is sense."
--Conor McBride