On Tue, Nov 12, 2013 at 08:42:57PM +1000, Nick Coghlan wrote:
A few months ago I came up with a working "call statement" implementation that would allow the parens to be omitted from all simple calls, not just print: http://bugs.python.org/issue18788
That shows such an approach is technically feasible, but it also makes it clear there are major readability issues if the LHS is allowed to be an arbitrary expression.
IPython has had this feature for a while: In [1]: len [] ------> len([]) Out[1]: 0 As IPython is attempting to be an interactive shell rather than just a REPL, that makes a certain amount of sense, but it does lead to some unfortunate situations: In [2]: len [] + len [] ------> len([] + len []) ------------------------------------------------------------ File "<ipython console>", line 1 len([] + len []) ^ SyntaxError: invalid syntax -- Steven