Путаница в пространствах имен и макросы

Я хочу написать макрос, который использует функции из библиотеки 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? Как лучше всего это сделать?

Спасибо!

10
задан Arthur Ulfeldt 13 March 2012 в 07:16
поделиться