Wouldn't it be cleaner to just require that the ref/out parameters be passed an atom, a var with a thread-local binding, or a ref, and treat the CLR method as performing a swap!, set!, or alter as appropriate? (Complete with passing it a ref failing outside of a dosync block.)
In other words, just fold it into the existing Clojure framework for dealing with values that can change, and transparently wrap in the appropriate concurrency semantics. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---