On 18/05/18 12:22, Ken Hilton wrote:
My idea is to only treat keywords as having special meaning when they're in
the right place. So the following would all be legal:

     >>> from operator import and
     >>> var = and(True, False)
     >>> var
     False
     >>> var = True and False
     >>> var
     False
     >>> def except(exc, def):
     ...     try:
     ...         return def()
     ...     except exc as e:
     ...         return e
     ...
     >>> except(ZeroDivisionError, lambda: 1/0)
     ZeroDivisionError('division by zero',)
     >>> except(ZeroDivisionError, lambda: 0/1)
     0.0
     >>> import asyncio as await #this is already currently legal, but will
not be in the __future__
     >>> async def async(def):
     ...     return await await.get_event_loop().run_in_executor(None, def)
     ...
     >>>

And so on.

What are your thoughts?

I asked about this earlier, much less clearly, and didn't get a helpful answer. I haven't had the spare time to look at the parser since then to see if it's plausible.

Though seriously, your example with "except()" makes me want to recant!

--
Rhodri James *-* Kynesim Ltd
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to