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

Reply via email to