Brendan Eich wrote:
Before we add more unstratified traps, I'd like Tom and Mark to comment.
They've thought a lot about invariants to preserve even with proxies in
the picture, and also for non-proxies. And they have a use-case to test
against: SES.

Herby Vojčík wrote:
But this has some quirks to solve, like typeof must be "function" for
every object having @call, but what about object having only @construct?

If we do this, then let's hope testing (@construct in obj) isn't too
bad. I suspect it won't be all that common.

These were just "extended" thoughs.

The main thing I wanted to propose / get feedback is the simple [[Call]] vs [[Construct]] separation for max-min classes using const systemwide symbols @call and @construct, since we already have the precedent of @iterator (the rest were thoughts about possibility of generalizing it).

In other words, no real traps at all. Just convenient names @construct and/or @call used instead of (also convenient) name 'constructor'.

Like in:
        class Foo {
                @construct(x, y) {
                        // initialize the instance
                }
                @call(obj) {
                        // convert obj into Foo
                }
                // the rest of the methods
        }
with the result of Foo constuctor function implemented so it can distingiush between [[Call]] and [[Construct]] context and doing the respective code.

Herby

/be
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to