Clojureのネストされたquasiquote処理ルールとは? 私は、シンボルが衛生的 (auto gensymed) な Lisp バリアントを作成しています。auto gensym で動作する単一レベルの quasiquote を取得しましたが、2 つ以上のレベルのネストがいつ開始されるかはわかりません。
ネストできる衛生的なシンボルで準引用符を処理する方法は?
拡張の一般的なルールは何ですか? 例:
(quasiquote (quasiquote (unquote (quasiquote (unquote (unquote-splice x))))))
(quasiquote (quasiquote (unquote (quasiquote (unquote (unquote x))))))
(def a '(1 2))
``~`~~a