Я хочу написать макрос, который использует функции из библиотеки clj-time. В одном пространстве имен я хотел бы вызвать макрос следующим образом:
(ns budget.account
(:require [budget.time]))
(budget.time/next-date interval frequency)
Следующий макрос будет определен в следующем файле:
(ns budget.time
(:require [clj-time.core :as date]))
(defmacro next-date [interval freq]
`(~interval ~freq))
Если макрос был вызван со следующими аргументами (с интервалом бюджета .time/next-date freq) и интервалом и частотой, где "недели" и "2" соответственно, макрораскрытие будет выглядеть примерно так (clj-time. ядро/недели 2)
Всякий раз, когда я пытаюсь это сделать из REPL, он не может разрешить пространство имен.
Есть ли способ заставить макрос разрешить интервал для аргументов в пространстве имен clj? Каков наилучший способ сделать это?
Спасибо!