On Feb 5, 2011, at 2:37 PM, Evan Laforge wrote:


I recall reading that clojure has a concept of associative
combination.  If you can declare that certain operations are
associative then the runtime doesn't have to care if they get out of
order.

I think that you're thinking about the "commute" operation: http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/commute

There's more discussion elsewhere on the web, including here: http://squirrel.pl/blog/2010/07/13/clojure-alter-vs-commute/

Cheers,
Sterl