[Python-ideas] generator.__add__
Nick Coghlan
ncoghlan at gmail.com
Mon Apr 5 14:59:23 CEST 2010
Guido van Rossum wrote:
> On Sun, Apr 4, 2010 at 9:58 AM, cool-RR <cool-rr at cool-rr.com> wrote:
>> I'm still a bit confused by generators and generator expressions, but what
>> about making a `generator.__add__` method, that'll act like
>> `itertools.chain`?
>
> This gets proposed several times a year. We always shoot it down for
> the same reasons: iterators are an abstract API and we don't want to
> burden every iterator implementation with having to implement various
> operations.
I actually messed around with writing a FlexIter class once that wrapped
an arbitrary iterator and mapped __add__ to itertools.chain, __mul__ to
itertools.repeat and a few other things. It actually turned out to get
really ugly, really fast, so I abandoned the idea.
Making arbitrary iterators as easy to manipulate as lists is an
appealing idea, but a lot harder than it sounds given the deliberately
limited definition of the iterator protocol.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
More information about the Python-ideas
mailing list