Название Clickbaity, но это слишком мясисто, чтобы уйти. У меня есть этот оператор, который я хочу быть правильным ассоциативным:
sub infix:<↑> ( Int:D \n, Int:D \m --> Int:D )
is assoc<right>
is equiv(&infix:<**>)
{ n ** m }
put "2**2**2**2 = ", 2**2**2**2;
put "2↑2↑2↑2 = ", 2↑2↑2↑2;
put "2↑ (2↑ (2↑2) ) = ", 2↑ (2↑ (2↑2) );
Это неправда ассоциативный:
2**2**2**2 = 65536
2↑2↑2↑2 = 256
2↑ (2↑ (2↑2) ) = 65536
Что я не делаю правильно (гм)?