Я хочу написать макрос, который использует функции из библиотеки 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))
Если бы макрос вызывался со следующими аргументами (budget.time/next-date interval freq) и interval и freq, где «недели» и «2» соответственно, тогда расширение макроса будет выглядеть примерно так (clj-time.core/weeks 2)
Всякий раз, когда я пытаюсь это сделать из REPL, он не может разрешить пространство имен. .
Есть ли способ заставить макрос разрешить интервал для аргументов пространства имен clj-time? Как лучше всего это сделать?
Спасибо!