sorry for this i mixed up the mailing adresses :D

On Sat, Dec 21, 2013 at 11:04 AM, dimitris chloupis <[email protected]>wrote:

> στειλε μου την πάλι στο [email protected] γιατί εδώ μπαίνω πλέον
> σπάνια και για κάποιο λόγο δεν μου κατεβάζει το αρχείο σου.  Σόρρυ που σε
> ξέχασα φιλαράκι αλλά αυτή την εβδομάδα δεν ήμουν και πολύ στα καλά μου.
> Στην είπα να την γράψεις έτσι για το τυπικό της υπόθεσης , νομικά δεν
> παίζει μεγάλο ρόλο απο την στιγμή που έχουν λάβει γνώση δηλαδή γνωρίζουν
> την περίπτωση σου.
>
>
>   On Friday, 13 December 2013, 23:29, Tudor Girba <[email protected]>
> wrote:
>  Hi Esteban,
>
> Indeed, I pondered on the issue of extending Object with the deep*
> methods. In the end, I chose to extend it because traversals are not a
> cherry on top, they are rather essential for significant analysis.
>
> From my point of view, Pharo has to become a platform in which
> understanding and manipulating objects is an essential concern. The reason
> is that in the long run, it is precisely assessment-related activities that
> account for the largest development costs. I detailed a bit this idea here:
>
> http://www.humane-assessment.com/blog/choose-your-technology-for-the-long-run/
>
> For this we need a powerful toolkit that makes crafting custom analyses
> cheap, and traversals has a prominent place in it.
>
> Cheers,
> Doru
>
>
>
>
> On Fri, Dec 13, 2013 at 6:17 PM, Esteban A. Maringolo <
> [email protected]> wrote:
>
> To avoid such kind of situations I would implement all the traversal
> methods as
> a) Traits or
> b) Class side methods of DeepTraversal (you choose the name) to which
> you'll have to pass the collection and the block.
>
> E.g. DeepTraversal deep: aCollection do: aBlock
> DeepTraversal flatten: aCollection thenDo: aBlock
>
> I, personally, don't like adding methods to Object unless it's
> unavoidable(*). And in those cases I choose to prefix them with
> something that is separate from the semantic, usually the
> package/framework prefix.
>
> Regards,
>
> (*)I did that for years and in the long term it hits you back.
> Esteban A. Maringolo
>
>
> 2013/12/13 Chris Cunningham <[email protected]>:
> > 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"
>
>
>

Reply via email to