[plt-scheme] [redex] language keywords

From: Carl Eastlund (cce at ccs.neu.edu)
Date: Wed Jun 2 22:21:43 EDT 2010

On Wed, Jun 2, 2010 at 10:15 PM, Casey Klein
<clklein at eecs.northwestern.edu> wrote:
> On Wed, Jun 2, 2010 at 9:02 PM, Eric Tanter <etanter at dcc.uchile.cl> wrote:
>>>> Is there something as simple/direct as the list of keywords in syntax-rules/syntax-case?
>>>> If not, any alternative suggestion?
>>>>
>>>> Thanks!
>>>>
>>>> -- Éric
>>>
>>> Take a look at variable-prefix.  In my latest Redex work, variables
>>> all start with x, y, or z, and I just have to avoid any keywords that
>>> start with those.
>>
>> Thanks Carl,
>>
>> I'm using these as well, actually.
>> A problem I have is that, for readability, I have a non-terminal which is define as (x >> x) where '>>' is a keyword. I know I could just use (x x) for exactly the same, but it does enhance readability.
>> The problem is that >> is considered as a pattern variable...
>>
>> with macros I could just say:
>> (syntax-rules (>>)
>>  ((x >> x) ...))
>>
>> Any idea?
>>
>
> I don't follow. The variables in a Redex pattern are always named
> after non-terminals, so I don't see how >> could be treated as a
> pattern variable.
>
> Do you mean that >> matches one of your six classes of variables?

Is it possible Eric is using one of the forms that match using
syntax-case instead of the Redex pattern matcher?  Do term-let and
where clauses still work that way?  (And if not, Eric, what version of
PLT Scheme are you using?)

--Carl


Posted on the users mailing list.