Super-dee-duper D features

Bruno Medeiros brunodomedeiros+spam at com.gmail
Thu Feb 15 04:39:12 PST 2007


Andrei Alexandrescu (See Website For Email) wrote:
> 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

Hum. Correct me if I'm wrong, but that proposal would also require 
adding an iterator concept to iterable types, since the current 
opApply() mechanism can't suport such simultaneous iteration.

-- 
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D



More information about the Digitalmars-d mailing list