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

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Wed Dec 9 12:41:47 EST 2009

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'".


> On Wed, Dec 9, 2009 at 10:22 AM, Anthony Cowley <acowley at seas.upenn.edu> wrote:
> > On Wed, Dec 9, 2009 at 8:04 AM, Todd O'Bryan <toddobryan at gmail.com> wrote:
> >> Here's a CharField%:
> >>
> >> (define CharField%
> >>  (class Field%
> >>    (init-field
> >>     max-length)
> >>    (inherit-field backend, name)
> >
> > Is that comma intentional?
> >
> > Anthony
> > _________________________________________________
> >  For list-related administrative tasks:
> >  http://list.cs.brown.edu/mailman/listinfo/plt-scheme
> >
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme


Posted on the users mailing list.