Super-dee-duper D features
Andrei Alexandrescu (See Website For Email)
SeeWebsiteForEmail at erdani.org
Thu Feb 15 07:59:14 PST 2007
Bruno Medeiros wrote:
> 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.
Correct.
Andrei
More information about the Digitalmars-d
mailing list