标签: clojure macros
我希望能够写出类似
=> (macro? '->) true =>
答案 0 :(得分:6)
宏变量有meta将其标记为宏:
(defn macro? [s] (-> s resolve meta :macro boolean))
答案 1 :(得分:0)
好的答案。
请注意,这在ClojureScript中不起作用,其中宏不会一直进入运行时环境。这意味着,(resolve 'if)将返回nil。
(resolve 'if)
nil