has the syntax for proxies been finalized ?

Angus Croll anguscroll at gmail.com
Fri Oct 18 07:49:39 PDT 2013


Great info thanks (and Tom and Domenic)

A note on MDN confirming that direct proxy adhered to the new spec (and a similar one on old proxy saying it didn't) would probably be immensely helpful to other people who had the same question I had.

Also (to all) deleting or marking as obsolete all wiki-harmony docs that no longer meet the standard would save a lot of wasted hours

thanks!





On Oct 18, 2013, at 6:17, David Bruant <bruant.d at gmail.com> wrote:

> Le 18/10/2013 07:19, Angus Croll a écrit :
>> I couldn't find a commitment to a specific syntax in the latest ES6 standard 
> The latest official news is in the May 2013 TC39 notes:
> https://github.com/rwaldron/tc39-notes/blob/master/es6/2013-05/may-21.md#44-proxies
> The final design of proxies is the "direct proxies" design. As Tom said, a proxy is now created doing:
>     var p = Proxy(target, handler)
> 
> Proxy.create and Proxy.createFunction are aimed at disappearing.
> 
>> Gecko, chrome experimental, traceur and 'node --harmony-proxies' support the Proxy.create syntax (detailed in http://wiki.ecmascript.org/doku.php?id=harmony:proxies)
>> 
>> e.g.
>> var proxy = Proxy.create({
>>  get: function(p, n) {
>>   return 'Hello ' +               n;
>>  }
>> });
>> proxy.World //'Hello World'
> On the SpiderMonkey (Gecko implements the DOM and other platform APIs and SpiderMonkey is the part that implement ECMAScript) side, I filed a bug to get rid of these as it's indeed confusing to have both APIs exposed in web pages:
> https://bugzilla.mozilla.org/show_bug.cgi?id=892903
> 
> IIRC, the V8 team had started implementing something (behind a flag), and then wars on Proxy design happened, so they chose to wait for the design to stabilize. Now may be a good time to restart
> 
>> However MDN calls the above the 'Old Proxy API'. 
> I'm glad I succeeded in, at least, making people wonder what that was all about :-)
> 
> Since I've been following closely the design of proxies, I documented them on MDN. Especially after the implementation of     direct proxies in Firefox (where I moved the documentation of the previous API to its own page and try to explain the best I could that people should not use it). I'm happy to improve the doc if     something isn't clear (on the feature itself or clarify the current technico-social mess of different APIs in the wild).
> 
> As a side note, to my knowledge, the only native implementation of direct proxies is in Firefox, but it's incomplete and has known     bugs. You can see the known limitations and bugs here: https://bugzilla.mozilla.org/showdependencytree.cgi?id=703537&hide_resolved=1 ("depends on" section. Bug 787710 is particularly funny :-)).
> 
> If you want to play with proxies, I think that the most faithful-to-the-spec implementation is Tom's polyfill: https://github.com/tvcutsem/harmony-reflect/blob/master/reflect.js where he's using the old API where available to implement the new one.
> 
> David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131018/dd2792f8/attachment-0001.html>


More information about the es-discuss mailing list