[racket] Many datums in syntax-parse
I've added #:datum-literals (I couldn't bring myself to use either
#:datums or #:data).
Ryan
On 01/22/2013 02:23 PM, Danny Yoo wrote:
> On Mon, Jan 21, 2013 at 1:04 PM, Lorenz Köhl <rainbowtwigs at gmail.com> wrote:
>> How can I match datums more concisely with syntax-parse?
>>
>> I get syntax objects like this from ragg:
>>
>> #'(old-timestamp (old-date 2 23) (time-of-day 2 ":" 23 ":" 42))
>>
>> The parts I care about are the numbers. I write patterns like
>>
>> ((~datum old-timestamp)
>> ((~datum old-date) month day)
>> ((~datum time-of-day) hour ":" minute ":" second))
>>
>> to extract them. But with longer syntax the patterns gets messy. I tried #:literals (foo ..) but I don't know what binding I should give to the ids and how (and why).
>
>
> Hi Lorenz!
>
>
> Does the following help?
>
> https://gist.github.com/4589601
>
> The idea is that replace-context from the syntax/strip-context library
> can update the lexical context of the syntax objects. We can then
> later use #:literal-set without trouble.
>
> I need some feedback from syntax/parse users to figure out what Ragg
> should do here to integrate better with syntax-parse. I really did
> want ragg output to return syntax objects with no initial
> interpretation assigned to them, to fit in with the A-ness of the AST.
>
>
>> Is there an equivalent to #:datums (old-timestamp time-of-day …) in syntax-parse?
>
> I've wondered about this as well.
>
>
> Best of wishes!
>
> ____________________
> Racket Users list:
> http://lists.racket-lang.org/users
>