It seems like the missing word from my vocabulary was "conveyance".
I've spent a fair bit of time toying with Clojure, ClojureScript, and their respective implementations. It seems like Clojure 1.3 augmented futures and agents with binding-conveyor-fn, clojure.lang.Var/getThreadBindingFrame, and clojure.lang.Var/resetThreadBindingFrame. Despite the lack of threading, it seems like this conveyance concept has wide applicability for the common asynchronous code typical in Javascript. In particular, I'd like to be able to use some dynamically bound variables in callbacks from XHR requests. This would also be extremely useful for dynamic var support in Continuation Passing Style transformation macros. The JVM/Clojure implementation of Var's binding Frame class make clever use of persistent maps to make this machinery work, but it appears that ClojureScript uses simple Javascript objects/maps as namespaces. Capturing a binding frame would involve an O(vars) operation. Before I dig any deeper into this (including potentially implementing conveyance in ClojureScript), I'd appreciate if anyone could fill me in on any current thinkings here. I'm sure async is interesting to the key ClojureScript contributors, but I've found precious little discussion about these topics. Thanks, Brandon -- 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