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

Reply via email to