Suppose A and 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?