> Also, if someone could explain how it is possible that defmacro itself > is a macro
Not sure I understand your question. Since you looked in boot.clj, I assume you saw the definition of defmacro. In my boot.clj (a little bit out of date), it looks like this: (def #^{:doc "Like defn, but the resulting function name is declared as a macro and will be used as a macro by the compiler when it is called." :arglists '([name doc-string? attr-map? [params*] body] [name doc-string? attr-map? ([params*] body)+ attr- map?])} defmacro (fn [name & args] (list 'do (cons `defn (cons name args)) (list '. (list 'var name) '(setMacro))))) (. (var defmacro) (setMacro)) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---