[racket-dev] struct + match not interacting via a macro

From: Shriram Krishnamurthi (sk at cs.brown.edu)
Date: Mon Oct 10 08:24:06 EDT 2011

On Mon, Oct 10, 2011 at 8:13 AM, Jay McCarthy <jay.mccarthy at gmail.com> wrote:
> And if it isn't clear, since it is looking at foo's static binding,
> your macro is only binding the values from define-struct, not the
> syntaxes.

Jay, can you elaborate?  What is doing the looking -- the match struct
clause?  What does it mean to "look at foo's static binding"?

I understand that my macro is binding only the values, not the
original syntaxes (other than "foo" itself, which is carried through
from the user's source).  The name "struct:foo" here is completely
synthetic because it's being introduced by build-struct-names.  Is
that what you're referring to?

In that case, does writing such a macro require an explicit breaking
of hygiene?

Shriram


Posted on the dev mailing list.