在clojure中嵌套的准Quase处理的规则是什么?



clojure中什么是嵌套的准Quasiquote处理规则?我正在写一个LISP变体,其中符号是卫生的(自动加密(。我有单一级的Quasiquote与Auto Gensym一起工作,但是我不确定何时筑巢。

如何使用可以嵌套的卫生符号来处理准Quakotes?


扩展的一般规则是什么?示例:

(quasiquote (quasiquote (unquote (quasiquote (unquote (unquote-splice x))))))
(quasiquote (quasiquote (unquote (quasiquote (unquote (unquote x))))))
(def a '(1 2))
``~`~~a

我可以推荐艾伦·鲍登(Allan Bawden(的" leisp中的quasiquotation":

https://3e8.org/pub/scheme/doc/quasiquotation in lisp (bawden(.pdf

我是95%肯定Clojure使用相同的规则,但请尝试在Clojure中进行检查。

相关内容

  • 没有找到相关文章

最新更新