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

Reply via email to