Super-dee-duper D features

Andrei Alexandrescu (See Website For Email) SeeWebsiteForEmail at erdani.org
Mon Feb 12 21:33:32 PST 2007


James Dennett wrote:
> C++, of course, has std::for_each(e.begin(), e.end(), do_x);
> in its library (though that's weaker than it could be because
> of lack of support for convenient anonymous functions/lambdas).
> 
> C++0x is very likely to have for(v: e).  It's implemented
> in ConceptGCC already. Java already has essentially that,
> as does C#.  This really doesn't set D apart (but at least
> D isn't falling behind here).

BTW, D might soon have simultaneous iteration that will blow away all 
conventional languages:

foreach (i ; coll1) (j ; coll2)
{
   ... use i and j ...
}
continue foreach (i)
{
   ... coll2 finished; use i ...
}
continue foreach (j)
{
   ... coll1 finished; use j ...
}

Best languages out there are at best ho-hum when it comes about 
iterating through simultaneous streams. Most lose their elegant 
iteration statement entirely and come with something that looks like an 
old hooker early in the morning.


Andrei



More information about the Digitalmars-d mailing list