<div dir="ltr"><div style="font-family:arial,sans-serif;font-size:13px"><p dir="ltr">On 29 Jan 2014 03:42, "Brendan Eich" <<a href="mailto:brendan@mozilla.com" target="_blank">brendan@mozilla.com</a>> wrote:</p>

<p dir="ltr">> And so we will go with 'chain'.</p></div><p dir="ltr" style="font-family:arial,sans-serif;font-size:13px">I assume it has been pointed out before that Underscore/LoDash have popularised their own "chain" function/concept?</p>

<p dir="ltr" style="font-family:arial,sans-serif;font-size:13px"><a href="http://underscorejs.org/#chaining" target="_blank">http://underscorejs.org/#chaining</a></p><p dir="ltr" style="font-family:arial,sans-serif;font-size:13px">

Hopefully it's distant enough from Promise-world to alleviate most confusion, but I thought I'd point it out for completeness.<br></p><p dir="ltr" style="font-family:arial,sans-serif;font-size:13px"><br></p><p dir="ltr" style="font-family:arial,sans-serif;font-size:13px">
On the flatMap name, as a Scala developer, I find it quite conveniently describes the "flattening" nature of the operation, although it only really works thanks to the parallel with map:</p>
<p dir="ltr" style="font-family:arial,sans-serif;font-size:13px">M[A]#map(f: A => B): M[B]<br>M[A]#flatMap(f: A => M[B]): M[B]<br>(not M[M[B]] as it would with map - hence the "flat")</p><p dir="ltr" style="font-family:arial,sans-serif;font-size:13px">

But given that 'then' is a sort of a mix of map/flatMap (and flatThen is terrible), I don't think there is an obvious parallel currently.</p><p dir="ltr" style="font-family:arial,sans-serif;font-size:13px">Seeing as flatMap/chain is being discussed though, have there been plans to add a map method on Promises (that would map to a new Promise without unwrapping returned promises)?</p>

<p dir="ltr" style="font-family:arial,sans-serif;font-size:13px">And have there been any discussion to add other monadic types to ES, eg Option/Maybe, Try, etc, or to make existing types support more monadic operations, eg Array.prototype.flatMap (or "chain"?).<br>

</p><p dir="ltr" style="font-family:arial,sans-serif;font-size:13px">Thanks, and sorry if this has been discussed before (is there any way to "catch up" on such topics if it has, short of reading piles of minutes?). </p>

</div><div class="gmail_extra"><br><br><div class="gmail_quote">On 29 January 2014 03:42, Brendan Eich <span dir="ltr"><<a href="mailto:brendan@mozilla.com" target="_blank">brendan@mozilla.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">Quildreen Motta wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I suppose using names that don't give you a hint of the meaning of the operation fits perfectly Haskell's (and Scalaz's) "Avoid Success At All Costs" tradition<br>
</blockquote>
<br></div>
lulz.<br>
<br>
And so we will go with 'chain'.<span class="HOEnZb"><font color="#888888"><br>
<br>
/be</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
______________________________<u></u>_________________<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/<u></u>listinfo/es-discuss</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Sébastien Cevey<br>Software Developer
</div>

<pre>Please consider the environment before printing this email.
------------------------------------------------------------------
Visit theguardian.com   

On your mobile, download the Guardian iPhone app theguardian.com/iphone and our iPad edition theguardian.com/iPad   
Save up to 57% by subscribing to the Guardian and Observer - choose the papers you want and get full digital access.
Visit subscribe.theguardian.com

This e-mail and all attachments are confidential and may also
be privileged. If you are not the named recipient, please notify
the sender and delete the e-mail and all attachments immediately.
Do not disclose the contents to another person. You may not use
the information for any purpose, or store, or copy, it in any way.
 
Guardian News & Media Limited is not liable for any computer
viruses or other material transmitted with or as part of this
e-mail. You should employ virus checking software.
 
Guardian News & Media Limited
 
A member of Guardian Media Group plc
Registered Office
PO Box 68164
Kings Place
90 York Way
London
N1P 2AP
 
Registered in England Number 908396

--------------------------------------------------------------------------