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