[Python-ideas] Left division operator

Sturla Molden sturla at molden.no
Sat Jul 16 21:16:25 CEST 2011


I was wondering if anyone else has felt the need for a leftward division 
operator in Python. That is, y\x in addition to x/y. Thus the operators:

    y \ x
    y \\ x

Why the statement "y\x" is different from "x/y":

1. Opposite order of evaluation: This is important if evaluating one of 
the operands has side-effects.

2. In linear algebra, (Y**-1)*X is in general not equal to X*(Y**-1). 
Matrix and vector algebra in fundamental to computer graphics and 
scientific computing.

3. NumPy solves the lack of "\" operator by having a function  
np.linalg.solve. But using it in matrix expressions has the effect of 
mixing Pythonic infix operators with a Lisp-like prefix operator.


Two other issues:

1.  The expressions
    y /= x
    y //= x
are evaluated in the same order as "y \ x", not "x / y".

2. The expressions
    y \= x
    y \\= x
  should perhaps be illegal due to implied side-effects on RHS.


Sturla














More information about the Python-ideas mailing list