В файле я определяю эти 2 макроса:
(ns macros)
(defmacro foo [a]
`(+ ~a 2))
(defmacro bar [a]
`(* 2 (foo ~a)))
В clojure оба макроса работают должным образом.
В clojurescript работает только макрос "foo", "bar" производит этоошибка:
"Error evaluating:" (bar 0) :as "(2 * macros.foo.call(null,0));\n"
org.mozilla.javascript.EcmaError: ReferenceError: "macros" is not defined. (<cljs repl>#4)
at <cljs repl>:4 (anonymous)
at <cljs repl>:4
Кажется, что здесь макрос "foo" не раскрывается, а интерпретируется как вызов функции.
Это ошибка в clojurescript или я что-то не так?