Antoine Pitrou, 15.07.2012 17:06: > On Sun, 15 Jul 2012 16:33:23 +0200 > Christian Heimes wrote: >> Am 15.07.2012 16:22, schrieb Antoine Pitrou: >>> On Mon, 16 Jul 2012 00:08:41 +1000 >>> Nick Coghlan wrote: >>>> Right, I agree on the value in being able to return something to say "this >>>> cannot be converted to a concrete container". >>> >>> Who would be able to return that, apart from trivial cases like >>> itertools.cycle()? >> >> For example most numerical sequence iterators like Fibonacci generator, >> prime number sequence generator and even trivial cases like even natural >> number generator. > > First, you can't implement __length_hint__ for a generator, which is the > preferred (the most practical) way of writing iterators in pure Python.
It can be implemented for generator expressions without a conditional, though, including the case of comprehensions. I wanted to do this in Cython for a while, but the protocol wasn't very well adapted to that use case. The "don't know" case was just too common and inefficient. For the other points, I agree with the already presented counterarguments. Being able to prevent some obvious traps is a good thing, even if you can't prevent all of them. Stefan _______________________________________________ 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