<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">On 28 January 2014 21:27, Andreas Rossberg <span dir="ltr"><<a href="mailto:rossberg@google.com" target="_blank">rossberg@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 28 January 2014 21:21, Quildreen Motta <<a href="mailto:quildreen@gmail.com">quildreen@gmail.com</a>> wrote:<span style="color:rgb(34,34,34)"> </span></div>
</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><br>
> But later, once `flatMap` is introduced, you'll be able to deal with nested<br>
> promises without breaking parametricity:<br>
><br>
> Promise.flatMap :: (Promise(a)) => (a → Promise(b))<br>
><br>
> If that's correct, I don't see any use cases for Promise.resolve right now,<br>
> unless a library where to provide a corresponding unspecified `flatMap`<br>
> implementation.<br>
<br>
</div>The V8 implementation provides it under the name `chain', with the<br>
obvious semantics.</blockquote><div><br></div><div>Considering that the fantasy-land specification uses the `chain` name as well, this is really neat.</div></div>
</div></div>