Proxies with State
Brendan Eich
brendan at mozilla.com
Tue May 31 20:46:05 PDT 2011
On May 31, 2011, at 4:57 PM, Cormac Flanagan wrote:
> One possible concern with proxies is the overhead of separate proxy
> and handler objects, and trap methods that likely close over a backing
> object.
Or weakmap proxies to backing objects.
> This concern would be exacerbated in the case of value
> proxies, where we might want millions of complex number proxies, and
> also came up in the discussion of the Observer use case last week.
The strawman at http://wiki.ecmascript.org/doku.php?id=strawman:value_proxies addresses this by specifying a Proxy.createValue function taking a http://wiki.ecmascript.org/doku.php?id=strawman:binary_data StructType descriptor as its last argument.
This is a targeted API, not for all use-cases but specifically for the one you cite: primitive values with efficiently packed structured binary data representations and operator methods.
> It seems it would be nice to allow proxy objects to have some state.
I think Proxies hit a sweet spot by isolating handler and proxy apart from the introduction in Proxy.create{,Function}. Trying to overload them to handle state (especially efficient, co-allocated binary data) is too much.
/be
More information about the es-discuss
mailing list