B are two long arrays of numbers of same length. Then
sum(A .* B) allocates the intermediary array
A .* B, and then sums it (the reduction).
I know I can write this as a loop or using generators, but at the price of losing the terseness of the dotted broadcast syntax. So is there a way to combine dotted calls with a reducing operation without intermediate allocations?