Even though I have used Clojure, I hadn't looked at the scoping rules in detail. I am getting more confused as I read the documentations. I made a small test to try out the scoping resolutions and am apalled at the complexity. Could somebody explain the intent and various rules that Clojure uses?
(def x 1) (defn dummy-fn2[] (+ x 1)) (defn dummy-fn[] (println "entering function: " x) (let [x 100] (println "after let: " x) (let [x (dummy-fn2)] (println "after let and dummy2: " x) (binding [x 100] (println "after binding: " x) (let [x (dummy-fn2)] (println "after binding and dummy2: " x)))))) 1:2 foo=> (dummy-fn) entering function: 1 after let: 100 after let and dummy2: 2 after binding: 2 after binding and dummy2: 101 nil -- 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