Greg Ewing wrote:
> Shane Hathaway wrote:
> 
>>For each block statement, it is necessary to create a *new* iterator,
>>since iterators that have stopped are required to stay stopped.  So at a
>>minimum, used-defined statements will need to call something, and thus
>>will have parentheses.
> 
> 
> Not necessarily!
> 
>    class Frobbing:
> 
>      def __neg__(self):
>        begin_frobbing()
>        try:
>          yield
>        finally:
>         end_frobbing()
> 
>    frobbing = Frobbing()
> 
>    ...
> 
>    -frobbing:
>      do_something()

Larry Wall would hire you in a heartbeat. ;-)

Maybe there's really no way to prevent people from writing cute but
obscure block statements.  A keyword like "block" or "suite" would give
the reader something firm to hold on to.

Shane
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to