On Oct 1, 2012, at 6:56 AM, David Bruant wrote:

> 2012/10/1 Tom Van Cutsem <[email protected]>
> 2012/10/1 Tom Van Cutsem <[email protected]>
> If yes, then we should ask ourselves the question: is this a useful hook for 
> regular objects to customize? I think it's not, really (bear in mind that 
> enumeration can only generate strings (property names), it's a good deal less 
> generic than iteration)
> 
> Put another way: customizing enumeration is meta-programming, customizing 
> iteration is not.
> I had not seen things from that angle, but it seems like a valid reason for 
> the apparent inconsistent of the proxy handler API.

I actually think they are both meta-programming hooks, in that they both 
provided a means for extending the behavior of syntactic constructs of the 
language.  However, I still come to the same conclusion:

Defining for-of iteration has high utility and will occur frequently so it 
should be exposed via a light-weight extension mechanism:  a unique name 
(symbol).  Extending for-in enumeration is of little utility and will occur 
infrequently.  For that reason it makes sense for it to be exposed by the more 
heavy weight proxy extension mechanism.

Allen

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to