Hi Chris, This is funny :). I took a look at your code, and if you remove your extensions on Collection, the code using deepCollect: and deep:do should work pretty much the same way.
Cheers, Doru On Fri, Dec 13, 2013 at 6:02 PM, Chris Cunningham <[email protected]>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 > -- www.tudorgirba.com "Every thing has its own flow"
