Allen Wirfs-Brock (2013-08-26T21:18:33.000Z)
On Aug 26, 2013, at 1:38 PM, Erik Arvidsson wrote:

> On Mon, Aug 26, 2013 at 3:02 PM, Allen Wirfs-Brock
> <allen at wirfs-brock.com> wrote:
>> 
>> On Aug 26, 2013, at 11:37 AM, Erik Arvidsson wrote:
>> 
>>> I agree that this is crucial. I think that tips the balance over to
>>> have to do the Get of @@unscopable on every HasBinding.
>> 
>> How so.  The timing of the @@unscopable property and the the process of using it to filter identifier binding are completely separable procedures. How does restricting the filtering to own properties  change the rationale for  getting the blacklist property once per 'with'  rather than on every variable reference.
> 
> I just felt things got a bit too complicated to spec.
> 
> I realize now that the complexity is not very different either way.
> 
> I'm ambivalent which behavior I prefer. Either way solves the use case
> but dynamic lookup has the benefit that will better handle crazy edge
> cases like changing @@unscopable and [[Prototype]] within the with
> statement.


At the cost of turning every implicit property access within a 'with' into two property accesses (which are observable vis proxies or accessors)  even in normal cases that are far away from the crazy edges.

The most important thing for crazy edges is that they are well-defined.  I don't think we should make things better in the crazy zone at the cost of making them worse in outside the crazy zone.

Allen
domenic at domenicdenicola.com (2013-08-29T23:32:30.924Z)
At the cost of turning every implicit property access within a `with` into two property accesses (which are observable vis proxies or accessors)  even in normal cases that are far away from the crazy edges.

The most important thing for crazy edges is that they are well-defined.  I don't think we should make things better in the crazy zone at the cost of making them worse in outside the crazy zone.