<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 2, 2015 at 9:30 AM, John Lenz <span dir="ltr"><<a href="mailto:concavelenz@gmail.com" target="_blank">concavelenz@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr">I was recently discussion Promise optimizations (specifically, that in any "then" chain at least one Promise object is created that goes unused), this could be solved by some metadata that indicated whether the result of the function would be consumed:<div><br></div><div>Promise.prototype.then = function(a, b) {</div><div>   ...</div><div>   if (function.called_from_void_result_context) {</div><div>     return undefined;</div><div>   }</div><div>   /* current behavior */</div><div>   ...</div><div>};</div></div></blockquote><div><br></div><div>More controversially, we might consider</div><div><br></div><div><br></div><div>    if (function.called_from_void_result_context) {</div><div>      /* proposed .done behavior */</div><div><br></div><div><br></div><div>I'm not sure what I think of this. It is kinda scary, but it might be the right thing.</div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><br></div><div><br></div><div>// example</div><div><br></div><div>somePromise.then(); // no chaining promise created by then</div><div><br></div><div>var x = somePromise.then(); // chaining promise created</div><div>x.then(); // no chaining promise created<br></div><div><br></div><div>I'm not really sure what impact this would have on the VMs but I found it an interesting idea.</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Thu, Feb 26, 2015 at 2:47 PM, Allen Wirfs-Brock <span dir="ltr"><<a href="mailto:allen@wirfs-brock.com" target="_blank">allen@wirfs-brock.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div><div class="h5"><div style="word-wrap:break-word">Here is a new proposal for some additional meta properties that should be considered for ES7<div><a href="https://github.com/allenwb/ESideas/blob/master/ES7MetaProps.md" target="_blank">https://github.com/allenwb/ESideas/blob/master/ES7MetaProps.md</a> <br><div><br></div><div>I've added this to the agenda for next months TC39 meeting but pre-meeting discussion is always welcomed right here.</div><span><font color="#888888"><div><br></div><div>Allen</div><div><br></div></font></span></div></div><br></div></div><span class="">_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></span></blockquote></div><br></div>
<br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Text by me above is hereby placed in the public domain<br><br>  Cheers,<br>  --MarkM</div>
</div></div>