Thanks for the clarification and understanding of my motives, Benson. I know Trove and I know other libraries of this type -- PCJ has been our favorite so far, but it's LGPL and our persistent attempts to ask Soren Bak to distribute that code under a different license have failed.
Adapters are a way to work around the compatibility problems (they are used in PCJ, for example), but they're in many ways defeat the purpose of having a collections library based on primitives. Other than lower memory consumption in the static case, you gain very little (autoboxing will kill performance). Let me do this. I'll send you a ZIP file with the code as it is right now in our repository. Take a look at what we've done and compare it to your efforts (especially in terms of templates-code generation I think you'll find it interesting). I should be done with the implementation of Deque today or tomorrow and then, knowing what other people think, we can decide how to move forward. Dawid On Tue, Jan 12, 2010 at 1:34 PM, Benson Margulies <bimargul...@gmail.com> wrote: > Dawid, > > I find that I didn't quite answer all of your questions, and then > again maybe I'm not in a position to. > > I started this by looking for some way to get the functionality of > Trove without the GPL. When I discovered that Mahout had already > absorbed Colt, I decided that the shortest path was to start from > there. > > I looked into planting this in commons-collections, but it was not so > easy. Colt collections depend on some scalar math code (random > numbers, etc). The commons-math people have a very high bar for > contributions, and the process of factoring out the math substrate, > comparing it to commons math, identifying the delta, contributing it > to math, etc, etc, was beyond my personal resources. > > If you've got a foundation member at hand, collections will make you a > sandbox to facilitate the contribution. Much as I'm enjoying myself at > this, I certainly won't be offended if Mahout throws it all out in > favor of what you've got there. > > One issue for Mahout is that it is using some above-collections > functionality from Colt that will take very careful modification to > use your (or any other) alternative. > > --benson >