It is an unusual way to break syntax but I can't think of a serious drawback off the top of my head. (I am sure Ryan and Matthew can think of one.) Does it pass your test cases?
On Jan 5, 2014, at 1:21 PM, Sean Kanaley wrote: > Ha! The below solution is a macro-making macro that re-syntaxifies "params > ..." to "belong to" the inner macro: > > (define-syntax-rule (make-commands name params ...) > (define-syntax (name inner-stx) > (syntax-case inner-stx () > [(_ (c f) (... ...)) > (with-syntax ([(ps (... ...)) (datum->syntax inner-stx (syntax->datum > #'(params ...)))]) > #'(list (cons (symbol->string 'c) > (λ (ps (... ...)) f)) > (... ...)))]))) > > I'm not sure if this is the canonical solution, but nevertheless I think it's > pretty awesome that this is possible and seems to work. > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users