I have an associative operation >>
. The problem is that its cost linearly depends on the size of its left operand. So an expression formed by a sequence of n
applications of >>
like
a >> a >> a >> a >> a >> ... >> a
it has quadratic cost in terms of n
, because by default infix operators are left-associative. How to make it right-associative so that the cost of such an expression is kept linear in terms of n
?