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 <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



--
www.tudorgirba.com

"Every thing has its own flow"