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

Reply via email to