I think you are too concerned with micro optimizations. get-in is probably just as efficient as attempting to bubble the state change back up and certainly simpler to work with. In practice, optimizations like this do not have a significant impact on the overall performace. Measure before you optimize. I might also add, parrelize before you optimize. Immutable data structures often makes it much easier to parrelize the algorithm, so even if you do have slow spots if the applications critical path is not affected you still may not need to optimize.
There probably are several methods in clojure that can be significantly optimized and eventually someone will, but the best optimizations will come from real world performance problems not theoretical ones. Do some research on clojures vector implementation and you'll see the fastest implementation in theory is comparitively slow in practice due to the way the caching works. -- 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