So would I, it would open up some very efficient opportunities > On Nov 3, 2015, at 8:26 AM, Andrea Giammarchi <[email protected]> > wrote: > > That would make functional-programming-oriented developers wining forever > about such monstrosity in specs ... I'd personally love such possibility! > > Regards > > On Tue, Nov 3, 2015 at 2:41 PM, Matthew Robb <[email protected] > <mailto:[email protected]>> wrote: > I probably have a terrible understanding of how this all works at a low level > but I feel like a potential solution would be a method of "upgrading" a > non-proxy object to be a proxy. The reason accessors are being used as they > are now is because you can retro fit them. Maybe what I am suggesting is > essentially like swapping out the internal pointer of an object with another > object (such as the way live module bindings work). In this way you might > upgrade an existing object to behave like a proxy. > > > - Matthew Robb > > On Tue, Nov 3, 2015 at 3:20 AM, Tom Van Cutsem <[email protected] > <mailto:[email protected]>> wrote: > > 2015-11-02 23:34 GMT+01:00 Coroutines <[email protected] > <mailto:[email protected]>>: > I come from Lua. In Lua we make proxy objects with metamethods. You > create an empty table/object and define a metatable with a __index and > __newindex to catch accesses and changes when a key/property doesn't > exist. I would primarily use this in sandboxes where I wanted to > track the exact series of operations a user was performing to modify > their environment (the one I'd stuck them in). > > For this type of use case, you can use an ES6 Proxy > <https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Proxy > > <https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Proxy>>. > You can think of the proxy handler's methods as the 'metamethods' of the > proxy object. > > What O.o would provide beyond Proxy is the ability to observe changes to > already pre-existing objects. However, since you mention you'd start with an > empty table/object, you should be able to create a fresh Proxy and use that > to trace all property accesses. > > Proxies are particularly well-suited when you want to sandbox things, since > you should be in control of the sandboxed environment anyway and can set-up > proxies to intermediate. O.o is particularly well-suited to scenarios where > there are already plenty of pre-existing objects and you don't know ahead of > time which ones to observe and which not. > > Cheers, > Tom > > _______________________________________________ > es-discuss mailing list > [email protected] <mailto:[email protected]> > https://mail.mozilla.org/listinfo/es-discuss > <https://mail.mozilla.org/listinfo/es-discuss> > > > > _______________________________________________ > es-discuss mailing list > [email protected] <mailto:[email protected]> > https://mail.mozilla.org/listinfo/es-discuss > <https://mail.mozilla.org/listinfo/es-discuss> > > > _______________________________________________ > 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

