> I can totally understand send-via, but set-agent-send-executor! and > set-agent-send-off-executor! feel dangerous to me like Ruby used to in that > if they're used by libraries that you include, then there's potential for > non-deterministic behaviour - i.e. last-one-wins. > > Can anyone explain to me why these two fns aren't dangerous and are > actually useful? > > I share your concern, because:
- send and send-off have always had fixed semantics - with send-via you can now easily roll your own - if you really want to globally change send / send-off, there is always alter-var-root - as far as I'm aware, this would be the first precedent of a setter for a runtime - global property in clojure core --- The deeper issue seems to me, that given the lack of first class environments (for performance reasons) we have no good way to make runtime configuration composable. *data-readers* raised the same issue and was piggy-backed onto class loading, which doesn't help with composability, but is deterministic, at least. Maybe project jigsaw will be able to help, but they seem to still need hammock time themselves. --- Everything said and done, it's still great we can now configure agent executors. Just don't do it in library code ;) kind regards -- 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