On Fri, Jun 21, 2013 at 4:14 PM, Timothee Cour <thelastmammoth@gmail.com> wrote:
On Fri, Jun 21, 2013 at 4:02 PM, Ali Çehreli <acehreli@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.
Timothee specifically said that he is trying to avoid zip: :)You can use "zip" from std.range.
Ali
> before:
> zip(a,b).map!(u=>absDiff(u[0],u[1])).reduce!fun;
> after:
> map!absDiff(a,b).reduce!fun;
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