On Thursday, 11 June 2015 at 22:36:28 UTC, Wyatt wrote:
1) a set of operators that have no meaning unless an overload is specifically provided (for dot product, dyadic transpose, etc.) and
I see your point, but I think it might be a bit risky if you allow too much freedom for overloading operators. For instance, what if two people implement separate packages for matrix multiplication, one adopts the syntax of R (%*%) and one adopts the new Python syntax (@). It may lead to some confusion.