Futures

Brendan Eich brendan at mozilla.com
Sat Apr 20 07:03:33 PDT 2013


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!)

/be


More information about the es-discuss mailing list