воскресенье, 16 октября 2011 г.

Опережающее объявление макроса

Кто-нибудь знает как в clojure сделать опережающее определение макроса?

Такой код не скомпилируется,  ошибка - "Unable to resolve symbol: my-inc in this context"

(my-inc 78)
(defmacro my-inc[number] `(+ ~number 1))


А так получишь ошибку в рантайме "Wrong number of args (1) passed to: "

(declare my-inc)
(my-inc 78)
(defmacro my-inc[number] `(+ ~number 1))


Я так понимаю declare приходится писать из за того что компилятор не многопроходный?

Комментариев нет:

Отправить комментарий