groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Winnebeck, Jason" <>
Subject RE: peristant and immutable collections
Date Wed, 14 Oct 2015 15:54:34 GMT
Pcollections looks very promising. If this is scheduled to be a dependency for all groovy apps,
I can’t imagine we could accept something like Guava, which is very large, without at least
trimming it down. The pcollections tests don’t seem to be comprehensive, and developers
normally expect a library like collections to be spot on even in very obscure edge cases.
So I would have some concern about the popularity of pcollections vs. something like Guava.
Lack of activity isn’t necessarily a bad indicator – this is the type of code you want
to be absolutely perfect and never, ever, touch again. Think about the Java 7 Collections.sort/Comparator
issue causing so many backward compatibility issues even though the new code was well within
the specification.

What I don’t get about pcollections is that it promises to implement collections interfaces
like Java.util.List, but then says that “add” doesn’t work, because you have to use
plus. So, I’m not sure how it can really be a List when none of the mutators could work.
I suppose you can implement size, iterator, contains, etc. same as Java’s unmodifiableList.


From: Shil Sinha []
Sent: Wednesday, October 14, 2015 11:41 AM
Subject: Re: peristant and immutable collections

+1 for pcollections for the reasons Guillaume mentioned.

Drawbacks of the other options:

Guava - AFAIK only provides immutable collections
Scala - As Jochen said, Collections (along with the standard library) will be redesigned in
the near future -
FunctionalJava - Data structures are only somewhat GDK friendly (they implement Iterable,
but not Map, Set or List)

Alessio, is the Clojure data structures port you were thinking

On Wed, Oct 14, 2015 at 8:02 AM, Cédric Champeau <<>>
+1 for pcollections. Lack of activity doesn't mean lack of maturity or lack of future activity.

2015-10-14 14:00 GMT+02:00 Guillaume Laforge <<>>:
Also, PCollections is pretty friendly to the good old Map, Set, List interfaces, which would
be thus Groovy-friendly too, with all our GDK shortcuts for these classes.

On Wed, Oct 14, 2015 at 12:56 PM, Jochen Theodorou <<>>
On 14.10.2015 11:55, Guillaume Laforge wrote:
PCollections sound like a good candidate, as you're its maintainer ;-)
(so it's easy to fix bugs, make updates, etc), it's lightweight /
standalone (not bringing odd dependencies).

I can even make more fine grained jars and such, yes. But I don't want to impose a library
to others for this. And while I am the maintainer, I did not really do much yet. There is
quite some work to do for this library to be more up to date and to improve the benchmarks.
I may spend that time anyway, just with a longer time period then

bye blackdrag

Guillaume Laforge
Apache Groovy committer & PMC member
Product Ninja & Advocate at Restlet<>

Social: @glaforge<> / Google+<>

This email message and any attachments are for the sole use of the intended recipient(s).
Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the
intended recipient, please contact the sender by reply email and destroy all copies of the
original message and any attachments.
View raw message