[racket] Another macro question: making a lexically binding keyword?

From: Danny Yoo (dyoo at cs.wpi.edu)
Date: Tue May 1 23:22:33 EDT 2012

>> I need to do something extra, since the use of interfere adds an
>> additional syntax parameterization that breaks the lexicalness I
>> expected from INDEX.
>
> there is no breakage here: the way that your `interfere' is broken is
> essentially the feature that syntax parameters provide: making it
> possible to have new forms that will adjust the meaning of `INDEX'.
> If you don't want that, then you can use the syntax equivalent of the
> above fixed `interfere'.

I must state up front: I agree with you that the behavior of syntax
parameters is valid.  I am not saying at all that I think syntax
parameters need to be changed at all.  I'm not sure if I made that
clear, and apologize for that confusion.

Rather, I would like to know what thing I should be using instead, so
that the situations I'm constructing behave according to the test
cases I've constructed.  I want to understand how to make the uses of
INDEX know how to pair up lexically with uses of 'ranged'.  I want to
assume that 'interfere' is correctly defined,  and am happy to make
changes to 'ranged' and 'INDEX' instead.

Posted on the users mailing list.