Some Noobian critique: Thread-local bindings also allow us to monkey-patch for the span of a local > context. Say we have a function *cat* which calls a function stored in a > Var; if a function *goat* is root-bound to the Var, then *cat* will > normally call *goat*; however, if we call *cat* in a scope where we have > thread-locally bound a function *moose* to that Var, then *cat* will > invoke *moose* instead of *goat*. (The key idea here is that the function > call is bound to a Var, not directly to a function, so the actual function > called is up for grabs every time the call is executed.)
You lost me at "span of a local context." I pretty much understand what you're saying, since I've been playing around with clojure for a while and "thread-local bindings" is somewhat self-explanatory, if a little bit cryptic. Basically, a var is a container. Different threads can have vars (containers) of the same name but with different values (contents). If a var is called but not found in a thread, clojure will search the global/root bindings/namespace. Is that accurate? --~--~---------~--~----~------------~-------~--~----~ 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 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 -~----------~----~----~----~------~----~------~--~---