Here's the main blocker for adding a matrix multiply operator '@' to Python: we need to decide what we think its precedence and associativity should be.
+, - | Addition and subtraction |
*, /, //, % | Multiplication, division, remainder [5] |
+x, -x, ~x | Positive, negative, bitwise NOT |
** | Exponentiation [6] |
x[index], x[index:index], x(arguments...), x.attribute | Subscription, slicing, call, attribute reference |