Allen Wirfs-Brock wrote:
On Nov 27, 2012, at 12:45 AM, Brendan Eich wrote:
This smells pretty bad compared to the PEP-380 style alternative, which cleanly
localizes the result to e.value.
It's always bothered me that there is do direct linkage between between a
generator instance that might throw a StopIteration and the actual
StopIteration value that is thrown.
This is a non-issue, in JS1.7+ and Python 2.5+. Again, if for-of is
driving the iteration, there's no need. If a task.js-like scheduler is
doing it, then it needs to keep book or take care.
So here is a new idea. Why not throw the iterator/generator instance it self as the
"stop iteration" exception instance.
No, that's ambiguous when the generator wants to throw its
generator-iterator, and a capability leak in general. The
generator-iterator is a capability, it should not be thrown willy-nilly
to unknown catchers.
The championed proposal, based on the Pythonic design _sans_ gratuitous
GeneratorExit, is at least as well time-tested as other things we're
incorporating into ES6. I don't think we should fool with it at this
late stage.
/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss