Hi, for hygienic reasons. ` qualifies symbols, while ' does not. So `or might result in clojure.core/or, while 'or is always or. This is important. Consider the following example.
(ns foo.bar) (defmacro foo-or [& body] `(or ~@body)) (ns frob.nicate (:refer-clojure :exclude [or]) (:use foo.bar)) (defn or [x] (do-something-interesting-here-with x)) (defn frob [x y z] (foo-or x y z)) Slightly complicated setup but required to understand what's going on. frob uses foo-or from some other namespace. foo-or expands into some form using or. Since nothing was specified differently this is clojure.core/or. Would ` not qualify symbols you wouldn't be able to use foo-or in frob.nicate since it would refer to the custom or defined there. But by always qualifying the symbols the correct or is used as was intended by the foo-or macro. Hope that helps. Kind regards Meikel -- 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 Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en