Another thing occurred to me: While not necessarily important in the cache of an LRU cache, one might want a data structure, even if it tends to be used in a side-effectful manner, to participate in STM co-ordinated transactions. If one hides an underlying ref, this means that either callers do not have full control (to do, for example, (ensure ..) on the ref), or the interface needs to provide specific features to support this (e.g., lru-ensure).
Again, for an LRU cache I think this may be a far-fetched desire to have and so it is probably not an issue. Maybe there are other data structures though, with a similar inappropriateness for a functional interface, where full participation as a persistent data structure with respect to STM would be desirable. -- / Peter Schuller -- 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