Hi. I am currently learning clojure, which is a nice experience, but you all know that. I have question about certain metadata definitions, which I couldn't find a straight answer to on the net, and in none of the books I'm reading: 1. is ^:dynamic the same as ^{:dynamic true}, just a shortcut? 2. is (def ^:dynamic ^:blah x) the same as (def ^{:dynamic true :blah true} x)? My tests show that the answer to the first 2 questions is yes, but I can't seem to find anything that would back that up. 3. why so many ways to do the same? 4. what does ^:static do? I read on SO that it is not used any more, but the source code in clojure.core still has these, and various tutorials use them as well. 5. since when does one need to use ^:dynamic on vars to be able to use (binding [...]) to rebind them thread-locally? Clojure in Action has a nice example of a simple mocking framework that uses this feature but without dynamic, but it is about clj 1.2 I think. 1.3 seems to require it though.
Regards, wujek -- 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