Доступ к значению, определенному в макросе, в другом макросе в ClojureScript - PullRequest
0 голосов
/ 21 мая 2019

Предположим, следующий код

(defmacro sdef [sname]
  `(def ~sname 3))

(defmacro sinc [sname]
  (inc ... we want to access sname's value here...))

В ClojureScript мы использовали бы его следующим образом

(sdef sfoo)
(sinc sfoo) ; => 4

В нашем случае обязательно, чтобы sinc оценивалось во время компиляции.

Нам удалось добиться этого в Clojure, используя resolve, который не работал в ClojureScript.Нам известно, что, особенно в ClojureScript, оценка макросов строго отделена от выполнения кода ClojureScript.Однако есть ли способ достичь вышеизложенного?

...