(今のところ、私が求めているのは非スキームであることを無視してください。これは非プログラマー向けの DSL のためです)
これと同等のことをしたい:
(pairwise key1 value1 key2 value2)
m
これは、私が定義した別のマクロであり、これに拡張されます (したがって、単純に可変長スタイル関数を使用することはできません)。
(list (cons key1 (m value1)) (cons key2 (m value2)))
私はこれを試しました:
(define-syntax pairwise
(syntax-rules ()
((_ key value ...)
(list (cons key (m value)) ...))))
しかし、私が推測したように、次のように拡張されました。
(list (cons key1 (m value1)) (cons key1 (m key2)) (cons key1 (m value2)))
ユーザーが内側のブラケットを追加する必要なく、これらの要素をペアで処理する方法に少しこだわっています。