[Python-ideas] Make keywords KEYwords only in places they would have syntactical meaning
Rhodri James
rhodri at kynesim.co.uk
Fri May 18 07:29:12 EDT 2018
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
More information about the Python-ideas
mailing list