2

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
4

1 に答える 1