Hi chris

I think that it would be great if:
- your api is compatible with the one of doru
- that we can introduce your extension to Pharo 
- keep the package of doru outside because it is larger.

With such approach we could get a first version with your code and a larger one with the one of doru and people 
would love it on demand.

Stef

On 13 Dec 2013, at 18:02, Chris Cunningham <cunningham.cb@gmail.com> wrote:

Hi.

I was reading with interest the blog post on Traversal-enabled objects ( http://www.humane-assessment.com/blog/traversal-enabled-pharo-objects ) when I noticed the method #deepCollect: referenced.  Interestingly, I have a method called #deepCollect: that is use (wtih related methods like #deepDo: and #deepSelect:).  I suspect these uses may be compatible, with the traveral versions being more generic.

My set of #deep methods allow arbitrary flattening of collections.  The #flatCollect: suite in Pharo today flattens objects 1 level; the #deepCollect: flattens the collections as many levels deep as they are nested.  I found this to be a really useful ability when I work with PetitParser parsings, which tend give back massively nested Arrays by default.

If you are interested, it is published at: http://www.smalltalkhub.com/#!/~cbc/DeepCollection/ .

-cbc