On Oct 24, 2011, at 3:22 PM, Stuart Halloway wrote:

>> Just one more question: Is it defined behavior, or should I submit a patch 
>> for Clojure 1.3?
>> 
>> Micah
> 
> What exactly would the patch do?

The patch would pass the following test:

(list
 (declare ^:dynamic p)
 (defn q [] @p))

(should= 10 (binding [p (atom 10)] (q)))

Implementation:  I have little experience with the Clojure code base, but I 
would attempt the following approaches:

* fully evaluate def/declare forms as they are read, similar to the way root 
level (and do) forms are evaluated immediately.
* figure out what changed between versions 1.2 and 1.3 that caused the behavior 
difference
* git-bisect the Clojure repo on the above test case ???

Stu, based on your question, I'm sensing that the behavior is in the 
"undefined" realm…. thoughts?

Micah





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