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

Reply via email to