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))]))]))

ハマったのでここに書いて共有しておく。