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 [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
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

Reply via email to