[r6rs-discuss] [Formal] Quasiquote should support unquotation within bytes objects.

Felix Klock 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 mailing list