Check out Dart's iterators

Brendan Eich brendan at
Sun Feb 10 07:34:10 PST 2013

Alex Russell wrote:
> FWIW, there continue to be strong misgivings about the pythonesqe 
> design we have now,

See below for how "strong".

> but Mozilla insists on the back of their shipping implementation.

No, that's completely false. There's no meeting notes to back you. If 
you objected all along, where was the record? Where was the alternative 
design? The C#-based idea from Peter Hallam, who was participating 
briefly in spring 2011, was never written up -- but it was hacked into 
early Traceur and then hacked out.

It's dis-harmonious to operate this way. You have a complaint, you bring 
it up at the meeting, it gets into the notes, we deal with restoring 

For the umpteenth-time record, SpiderMonkey's ES4-era prototypes can and 
must change to adapt to ES6, whatever it ends up specifying.

The plain fact remains that no one in TC39, certainly not you, ever did 
the work or made the case for a better design, so the committee took 
iterators into ES6 consensus in May 2011. They remain there, with review 
as noted in the September 2012 notes 
( and 
previoius in thread).

> Many feel that exceptions for control-flow are a missdesign, myself 
> included, but at this point the ship us nearly past the lighthouse on 
> its way to sea and the effort involved in recalling it not worth the pain.

Are you really just bitching in es-discuss, uselessly and (see above 
about "Mozilla insists") inaccurately, so you can have the option to 
point the finger later?

Way to rise above inessential disagreement!


> Regards
> On Feb 10, 2013 8:26 AM, "Domenic Denicola" 
> <domenic at <mailto:domenic at>> wrote:
>     > -----Original Message-----
>     > From: Brendan Eich [mailto:brendan at
>     <mailto:brendan at>]
>     > Sent: Sunday, February 10, 2013 03:20
>     > Changing from hasMore/getNext to current/moveNext does not
>     eliminate two methods that can get out of sync. You can imagine
>     one is a property, not a method, but the general case is a getter
>     or C#-style Current method.
>     Ah, the fact that it could be a getter does reduce it to the
>     original two-out-of-sync-methods case, right. Thanks!
>     _______________________________________________
>     es-discuss mailing list
>     es-discuss at <mailto:es-discuss at>

More information about the es-discuss mailing list