Thanks. I'm currently running 6.12, so this may be what convinces me to go ahead and upgrade.
-- Jonathan On Sat, Sep 21, 2019 at 4:28 PM Philip McGrath <[email protected]> wrote: > Use `~@` (sine Racket 7.0): > (syntax-parse #'(1 2 2 a 2 2 b 2 c) > [(1 (~seq n:nat ...+ x) ...) > #'((~@ n ... x) ...)]) > > -Philip > > > On Sat, Sep 21, 2019 at 4:15 PM Jonathan Simpson <[email protected]> > wrote: > >> Given this macro that I'm experimenting with: >> >> (syntax-parse #'(1 2 2 a 2 2 b 2 c) [(1 (~seq n:nat ...+ x) ...) #'((n >> ... x) ...)]) >> >> How would I change it so that it returns #'(2 2 a 2 2 b 2 c) instead of >> #'((2 2 a) (2 2 b) (2 c)) ? >> >> I don't want the parens around the individual sequences that I'm >> matching, but I haven't figured out a way to do this without using a >> pattern that forces me to add them in the body of the syntax-parse clause. >> How can I group the n and x pattern variables in the body without adding >> parens around them? >> >> If could get a syntax class that replaces the (~seq n:nat ...+ x) that >> might work but I haven't been able to get a syntax class that will do that >> either. >> >> Thanks, >> Jonathan >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Racket Users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/racket-users/55b38c69-a789-4528-be79-0bf48c97f283%40googlegroups.com >> <https://groups.google.com/d/msgid/racket-users/55b38c69-a789-4528-be79-0bf48c97f283%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/CAAt9evnuhsy71%2B%2BcFDzjjJxoQh_Fo0gHbGXGEd%2BFW78Bz5sVAA%40mail.gmail.com.

