Any chance to call Tango as Extended Standard Library

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sun Jan 18 19:00:17 PST 2009


dsimcha wrote:
> == Quote from Walter Bright (newshound1 at digitalmars.com)'s article
>> dsimcha wrote:
>>> One point of clarification:  opApply isn't going to be deprecated anytime soon, is
>>> it?  It seems like ranges still have a bunch of rough edges, and although I like
>>> the idea in principle, I'm only willing to convert to ranges if I can define
>>> iterable objects with the same level of syntactic sugar as opApply gives me.  For
>>> simple cases this is already true and I have begun converting some stuff.
>>> However, for more complicated cases, opApply is still a lot more flexible.
>> opApply isn't going away. For one thing, it works very well with
>> recursive data structures.
> 
> So besides performance, what advantages does using ranges instead of opApply for
> iteration over structs/classes offer?  According to some testing that I just
> finished on the hash table implementation I was talking about earlier today, the
> penalty for using opApply is small enough that, if using ranges requires a bunch
> of extra bookkeeping overhead that opApply doesn't, then opApply can reasonably be
> faster.

Speed is a small part of the equation, in fact a perk only. Ranges are 
composable; you can combine them to e.g. do parallel iteration over two 
ranges. Ranges really open std.algorithm to all data structures. I find 
opApply incredibly obtuse and fostering bad design. I wish it goes away.

Andrei



More information about the Digitalmars-d mailing list