On 11 Apr 2011, at 03:50, George Rogers wrote:
;;2) Shadowing a macro does not change macros that depend on it. (defmacro foobar [x] `(let [a# ~x] (+ a# a#))) (defmacro let [] `(guik.evil/let*)) (foobar 10) ;=> 20
That's due to namespaces, which indeed solve many of the "hygiene" problems that have been discussed for Common Lisp.
Namespaces are one of the most important features that have appeared in programming languages since the early days of Lisp. To quote "The Zen of Python":
... Namespaces are one honking great idea -- let's do more of those! Konrad. -- 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