On Sat, Apr 10, 2010 at 12:25 PM, Douglas Philips <d...@mac.com> wrote: > The differences between def and binding are also weird, since binding does > not also shadow the meta-data on the var, so not only :macro will be wrong, > but :file, :line, :arglists could also be wrong.
The binding form doesn't provide the semantics of temporary redefinition. Rebinding is quite a different beast in many ways. The way it handles metadata makes sense to me. I don't see why :macro and :arglists need to reside on the var rather than the function itself and it indeed does lead to some surprises in odd corner cases. But it is certainly logical and proper that :file and :line reside on the var. Anyway, I hope this excursion was enlightening. It forced me to reinforce my understanding of some of these issues. -Per -- 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 To unsubscribe, reply using "remove me" as the subject.