Super-dee-duper D features

janderson askme at me.com
Mon Feb 12 23:11:06 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 ...
> }
> 
> Andrei

Maybe its a bit to late here however this syntax seems very special 
case.  Can you explain why its necessary and how we would use it.  How 
would we do this currently (without meta programming)?

-Joel



More information about the Digitalmars-d mailing list