Cross language discussion

Brendan Eich brendan at
Wed Jul 1 19:01:30 UTC 2015

Benjamin Gruenbaum wrote:
> An annual conference sounds like a great opportunity to discuss design 
> goals of languages and long term goals - I am a much less ambitious 
> man than you. I'm just thinking of small scope examples, to name 3 on 
> top of my head:
>  - The iteration protocol (PHP had a similar lengthy discussion about 
> something like our `return` - talking to the relevant people there 
> would have helped).

I know Rasmus Lehrdorf and saw him in Taipei in May. But I think you may 
be missing the long history, going back to ES4, of the iteration 
protocol that went into ES6. I based it on Python 2.5, and then Igor 
Bukanov (at the time a peer on SpiderMonkey) worked hard to improve the 
Pythonic design to eliminate GeneratorExit. Here is Igor in the 
python-dev list:

Here is Phillip J. Eby replying to Guido and giving a nod of approval to 
Igor's solution of forcing a return instead of throwing GeneratorExit:

See, we did actually do our homework and get into the guts of the other 
language. :-P

(In the end, what got the iteration protocol buy-in across TC39 was Dave 
Herman's elimination of StopIteration. So Igor and I should have worked 
harder to eliminate exception singletons (a smell for sure). :-P to me 
too :-D. I'm still waiting for the {value, done} record object to be 
optimized away in modern engines, so :-P to them.)

I agree that this kind of diligence is required. I don't see how a 
gab-fest helps, though. It can help forge social bonds across 
communities, and it doesn't hurt for other reasons, but it is not the 
place for detailed grunt-work.


More information about the es-discuss mailing list