Контекст
Я использую Clojurescript и пытаюсь определить множество функций во время компиляции, чтобы обернуть Javascript API.Мой код прекрасно работает с более низким уровнем оптимизации компилятора.Да, когда я использую флаг компилятора :optimizations :advanced
Clojurescript, компилятор выдает предупреждение: Use of undeclared Var my.namespace/fname
, и мой код не работает во время выполнения (некоторые искаженные символы не найдены).
Вот минимумпример проблемы:
(defmacro create-a-function [l]
`(defn ~l [o#] (inc o#)))
(create-a-function fname)
;; Below inside another function
(defn fname-clone [k]
(fname k))
Я определяю функцию с именем fname
во время компиляции, используя макрос create-a-function
.Когда я пытаюсь вызвать функцию во время выполнения, происходит сбой.
Что я пробовал?