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?
/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
<erik.arvids...@gmail.com <mailto:erik.arvids...@gmail.com>> wrote:
On Mon, Jul 29, 2013 at 1:21 PM, Brendan Eich <bren...@mozilla.com
<mailto:bren...@mozilla.com>> 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
es-discuss@mozilla.org <mailto:es-discuss@mozilla.org>
https://mail.mozilla.org/listinfo/es-discuss
--
Text by me above is hereby placed in the public domain
Cheers,
--MarkM
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss