define-syntax の入れ子における ...
マクロがマクロを生成するような場合に define-syntax が入れ子になる。このとき ellipsis "..." に注意。
内側のマクロで利用する ellipsis は外側の ellipsis と区別するために (... ...) とする必要がある。
コード例。
(define-syntax define-command (syntax-rules () [(_ command) (define-syntax command (syntax-rules () [(_ args (... ...)) (call-process (string-join (cons (symbol->string 'command) (syntax->datum #'(args (... ...)))) #\space))]))]))
ハマったのでここに書いて共有しておく。