Futures

David Bruant bruant.d at gmail.com
Wed Apr 24 05:47:20 PDT 2013


Le 20/04/2013 16:03, Brendan Eich a écrit :
> David Bruant wrote:
>> Le 20/04/2013 15:17, Brendan Eich a écrit :
>>> Tab Atkins Jr. wrote:
>>>> It would be so nice if JS had multiple return values, so we could let
>>>> cancellable future-returning APIs just return a naked resolver as
>>>> their second value,
>>>
>>> Hello, destructuring:
>>>
>>> let{  proxy, revoke}  = Proxy.revocable(target, handler);
>>>
>>>
>>> from 
>>> http://wiki.ecmascript.org/doku.php?id=strawman:revokable_proxies. 
>>> Or use an array pattern if you prefer.
>>>
>>> JIT'ing VMs can optimize these pretty easily to avoid object 
>>> allocation.
>> I find pretty interesting cases where high-level expressive syntax 
>> results in optimizations that were impossible to very hard without 
>> the syntax.
>> Is it already implemented in SpiderMonkey? If not, is there a bug 
>> number to follow the progress?
>
> Implemented long ago:
>
> js> function cons(h, t) { return {head: h, tail: t}; }
> js> let {head, tail} = cons("hi", "bye")
> js> head
> "hi"
> js> tail
> "bye"
>
> (Not optimized yet, AFAIK. Care to file that bug? Cc: me if you do. 
> Thanks!)
Filed https://bugzilla.mozilla.org/show_bug.cgi?id=865196 for anyone 
interested.

David


More information about the es-discuss mailing list