Каково правило для обработки вложенных квазицит в Clojure? - PullRequest
2 голосов
/ 08 мая 2019

Что такое правило обработки вложенных квазицит в Clojure?Я пишу вариант на Лиспе, где символы гигиеничны (автоматическое обозначение).Я получил одноуровневую квазицитатуру, работающую с автоматическим гензимом, но я не уверен, когда два или более уровня вложенности входят.

Как обработать квазицитаты гигиеническими символами, которые могут быть вложены?


Какое общее правило для расширения?Пример:

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

``~`~~a

1 Ответ

0 голосов
/ 15 мая 2019

Я могу порекомендовать «Квазиквотация в Лиспе» Аллана Баудена:

https://3e8.org/pub/scheme/doc/Quasiquotation%20in%20Lisp%20(Bawden).pdf

Я на 95% уверен, что Clojure использует те же правила, но попробуйте примеры из Clojure, чтобы проверить.

...