[Python-Dev] Re: PEP 340 - possible new name for block-statement

Nicolas Fleury nidoizo at yahoo.com
Fri Apr 29 05:21:12 CEST 2005

Guido van Rossum wrote:
> A variation on this with somewhat different semantics swaps the keywords:
>     in EXPR for VAR:
>         BLOCK
> If you don't need the variable, you can leave the "for VAR" part out:
>     in EXPR:
>         BLOCK
> Too cute? :-)

I don't think it reads well.  I would prefer something that would be 
understandable for a newbie's eyes, even if it fits more with common 
usage than with the real semantics behind it.  For example a Boost-like 
keyword like:

scoped EXPR as VAR:

scoped EXPR:

We may argue that it doesn't mean a lot, but at least if a newbie sees 
the following code, he would easily guess what it does:

scoped synchronized(mutex):
     scoped opening(filename) as file:

When compared with:

in synchronized(mutex):
     in opening(filename) for file:

As a C++ programmer, I still dream I could also do:

scoped synchronized(mutex)
scoped opening(filename) as file

which would define a block until the end of the current block...


More information about the Python-Dev mailing list