[plt-scheme] quasiquote confusion with printable<%> interface

From: Sam TH (samth at ccs.neu.edu)
Date: Wed Dec 9 12:47:13 EST 2009

On Wed, Dec 9, 2009 at 12:41 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> At Wed, 9 Dec 2009 10:44:16 -0600, Robby Findler wrote:
>> Oh boy! That's a subtle bug! I think that explains what Todd was
>> seeing. unqoute was being locally shadowed (as a field).
>
> Yes.
>
>> Perhaps inherit field should have signalled an error that unquote
>> wasn't in the superclass?
>
> No, it's worse. The problem is that `unquote' became the local name for
> `name' as inherited from the superclass. That is,
>
>  (inherit-field [unquote name])
>
> means "inherit `name', but locally bind it as `unquote'".

Here's an idea: `syntax-parse' could, at least in some cases, reject
syntax-lists created by `quote', `quasiquote', and `unquote' when they
appear in places that list structure was explicitly specified.

Ryan, would that work?
-- 
sam th
samth at ccs.neu.edu


Posted on the users mailing list.