[Python-Dev] Short-circuiting iterators
Raymond Hettinger
raymond.hettinger at verizon.net
Wed Dec 7 03:58:50 CET 2005
[Matthew F. Barnes]
> > > Perhaps it would be a useful addition to the itertools
> > > module then?
> > >
> > > itertools.interruptable(iterable)
[Raymond Hettinger]
> > Any real-world use cases or compelling contrived examples?
[Simon Wittber]
> I use something like this in the nanothreads module.
>
> http://metaplay.dyndns.org:8081/svn/fibranet/fibranet/nanothreads.py
>
> This feature is implemented in the Fibra class, in the end and kill
> methods. It is used to stop an iterator from parts of the code which
> are not part of the loop that is actually iterating the iterator.
>
> This usage is specific to situations where generators are being used
> as cooperative threads.
Are there any generator specific needs that are not met by the PEP 342
implementation? Given a choice between throw(), close(), and send(), I
would have thought that all the bases have been covered.
Raymond
More information about the Python-Dev
mailing list