AFAIK, Clojure's persistent data structures resolve many of the scenarios where immutability is desired.
Scenario in which I think immutability is highly desired are as follows: *Scenario 1*: Non-concurrency related reason. One of the non-concurrency related reason for immutability (I dont recall of others) is to get the deep "const/final" effect on Objects. Clojure, being functional, return values are always copied as far as the user is concerned. So we get this const effect for free. *Scenario 2:* Concurrency related reason. Clojure's persistent data structures are AFAIK, mainly intended to solve the concurrency related reasons for desiring immutability and this issue is solved better by persistent data structures than Immutable collections. So, I think, Google's Immutable collections would be useful only for Scenario 1, if only there is a huge performance difference in the initial population of the data structure. I don't really see how that can be more perfomant, except for the reason that it is possible to achieve Worst-case O(1) access timings on Hash tables rather than Average case O(1) when the set of all possible key values is totally known before-hand and not subject to change. Thanks, Ajay On Thu, Dec 31, 2009 at 12:41 AM, Vagif Verdi <vagif.ve...@gmail.com> wrote: > I wonder if just released http://code.google.com/p/google-collections/ > google-collections java library could be of any use to clojure > implementation ? They have there "High-performance immutable > implementations of the standard collection types" and many other > goodies. > > -- > 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<clojure%2bunsubscr...@googlegroups.com> > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en -- 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