Also, I'm not sure if your understanding of "binding" is correct.

because within any lexical scope inside a function, I can
> pretty much count on my bindings to never change.
>

binding is actually like a lexical re-def:

user=> (def x 1)
#'user/x

user=> (binding [x 2] (pr x) (binding [x 3] (pr x)) x)
232

user=> x
1

This allows us to confine var re-def to specific scope, safely -- which is
the convention over redefing a var globally.

That's my understanding of it at least.  Anyone can feel free to correct me
if I'm wrong.

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