feature request: N-ary map

Timothee Cour thelastmammoth at gmail.com
Fri Jun 21 16:14:21 PDT 2013


On Fri, Jun 21, 2013 at 4:02 PM, Ali Çehreli <acehreli at yahoo.com> wrote:

> On 06/21/2013 03:57 PM, Diggory wrote:
>
>> On Friday, 21 June 2013 at 22:56:04 UTC, Andrei Alexandrescu wrote:
>>
>>> On 6/21/13 3:55 PM, Andrei Alexandrescu wrote:
>>>
>>>> On 6/21/13 3:45 PM, Timothee Cour wrote:
>>>>
>>>>> I'd like to support N-ary map, ie std.algorithm.map that takes 1 or
>>>>> more
>>>>> ranges as arguments and operates lazily on those.
>>>>>
>>>>
>  You can use "zip" from std.range.
>>
>
> Timothee specifically said that he is trying to avoid zip: :)
>
>
> > before:
> >   zip(a,b).map!(u=>absDiff(u[0],**u[1])).reduce!fun;
> > after:
> >   map!absDiff(a,b).reduce!fun;
>
> Ali
>

also works great with string lambdas:
eg: dotproduct:

before:
  zip(u,v).map!"a[0]*a[1]".reduce!"a+b";
after:
  map!"a*b"(u,v).reduce!"a+b";

=> clearer, and provides more room for optimizaton
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20130621/252d71b5/attachment-0001.html>


More information about the Digitalmars-d mailing list