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 [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