On Jul 30, 2013, at 7:02 PM, Brendan Eich wrote:

> Yes, thanks. This is a fine pickle!
> 
> We need two things. I'd rather have unique symbols and private fields 
> (whatever they are under the hood is unobservable). One can still confine a 
> uniique symbol to keep it "private", if it is used to index objects one 
> creates (and not proxies from outside).
> 
> Are we there yet?

Yes, that sounds exactly right and is pretty much were I thought we were in 
May, with many details remaining to work out WRT private fields.

allen







> 
> /be
> 
> Mark Miller wrote:
>> Yes. See 
>> <https://mail.mozilla.org/pipermail/es-discuss/2013-July/032339.html> for 
>> more along these lines.
>> 
>> 
>> On Tue, Jul 30, 2013 at 11:27 AM, Erik Arvidsson <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>>    On Mon, Jul 29, 2013 at 1:21 PM, Brendan Eich <[email protected]
>>    <mailto:[email protected]>> wrote:
>>    > This seems to neatly separate concerns, but Arv pointed out that
>>    for some
>>    > proxy cases it won't work. I forget what he said exactly,
>>    though. Cc'ing
>>    > him.
>> 
>>    We went through the exercise of only having private symbols but it
>>    lead to some issues. Here is one that we identified.
>> 
>>    Lets assume we use a private symbol for the @@iterator. The symbol can
>>    still be checked because anyone that has access to the right module
>>    can get it. It is also important that a proxy for an object, O, is not
>>    invoked when you do O[privateSymbol]. This means that it is not
>>    possible to create an iterable proxy object, since no trap on the
>>    proxy is invoked.
>> 
>>    Marks' relationship proposal tries to solve the issue of private
>>    symbols and proxies, by inverting the relationship, so that x[r]
>>    invokes a method on r, therefore allowing you to create a proxy for r.
>>    However, for the built-in meta protocol symbols, you cannot replace
>>    them with a proxy to the symbol, since the symbol is already hard
>>    coded to use the @@iterator symbol.
>> 
>>    Therefore, we need something like public symbols for the meta
>>    operations.
>> 
>>    --
>>    erik
>>    _______________________________________________
>>    es-discuss mailing list
>>    [email protected] <mailto:[email protected]>
>>    https://mail.mozilla.org/listinfo/es-discuss
>> 
>> 
>> 
>> 
>> -- 
>> Text by me above is hereby placed in the public domain
>> 
>>  Cheers,
>>  --MarkM
> _______________________________________________
> es-discuss mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/es-discuss
> 

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

Reply via email to