0
私は以下のSchemeマクロを書いています。Schemeマクロでパターンシーケンスをテナントにする方法は?
(define-syntax join
(syntax-rules()
((join (var ...) (val ...) ...)
'(((var val) ...)
...))))
私はそれが次の結果を返します
(join (a b c)
(1 2 3)
(2 4 6)
(3 6 9))
を試してみてください。
(((a 1) (a 2) (a 3))
((b 2) (b 4) (b 6))
((c 3) (c 6) (c 9)))
私の意図は、以下の結果を返すマクロを書くことでした。
(((a 1) (b 2) (c 3))
((a 2) (b 4) (c 6))
((a 3) (b 6) (c 9)))
パターンマッチャーが変数var
を項目化する方法をどのように転置しますか?
更新:1以上の インスタンスに続くサブパターンで発生
パターン変数:私はこの問題の
join
マクロがR7RS 4.3.2による違法であることを、言われたの識別子ellellisis 012はサブテンプレート にのみ許可され、その後にはellellisis asのインスタンスが多く続きます。