[racket-dev] syntax parsing: must be a nice pattern-y way to do this
See 'define-template-metafunction' in
syntax/parse/experimental/template. Remember to change the relevant
occurrences of 'syntax' to 'template'.
Ryan
On 09/16/2012 08:31 PM, John Clements wrote:
> I want to apply a transformation to a nested pattern element.
>
> To start with, suppose I have a (kind of useless) with-handlers that looks like this:
>
> (with-syntax
> ([((arg ...) ...)
> #`((clause.input ...) ...)])
> et-cetera)
>
> That is, I've basically just renamed "clause.input" to "arg".
>
> But now, I want to perform some transformation on the elements. I'd like to write this:
>
> (with-syntax
> ([((arg ...) ...)
> #`((#,(transform #'clause.input) ...) ...)])
> et-cetera)
>
> .. but this fails, with the error "new-style-signals.rkt:42:30: syntax: missing ellipsis with pattern variable in template in: clause.input"
>
> I can certainly work around this, by abandoning the pattern-matching slickness and just using a bunch of syntax->lists, but it seems like there must be a nicer way. Am I missing some nifty trick?
>
> John
>
>
>
>
> _________________________
> Racket Developers list:
> http://lists.racket-lang.org/dev
>