[r6rs-discuss] [Formal] Quasiquote should support unquotation
within bytes objects.
pfr6rs at pnkfx.org
Thu Nov 16 10:34:26 EST 2006
On Nov 16, 2006, at 12:23 AM, Abdulaziz Ghuloum wrote:
> On Nov 15, 2006, at 1:35 PM, Felix Klock wrote:
>> It seems natural and useful to support unquotation for the
>> elements of a bytes object.
>> For example:
>> (let ((a 0) (b 1) (cs '(2 3)))
>> `#vu8(,a ,b , at cs))
>> ==> #vu8(0 1 2 3)
> The problem with the above is that (unquote a), (unquote b) and
> (unquote-splicing cs) are not unsigned-8 values; you just cannot
> put them in a vu8. Supporting your proposal severely complicates
> the reader and the expander since you have to perform macro
> expansion while reading; this may not even be possible.
Oh I see, you're complaining that we cannot directly express the
syntax of the form I am describing, assuming that we force Scheme
programs to be expressible directly as datums as described in the
report, and therefore the #vu8(...) form must only contain octets.
Okay, I withdraw the comment; its not so bad writing (list->bytes `
(,a ,b , at cs)) instead.
More information about the r6rs-discuss