<p dir="ltr">Is there a reason why it couldn't desugar to `f(x, y)` or `f(y, x)`? I think it would be more performant with mostly the same benefits, and it would work better with existing libraries, as a compliment to the function bind proposal. </p>
<br><div class="gmail_quote"><div dir="ltr">On Sat, Dec 12, 2015, 16:01 Gilbert B Garza <<a href="mailto:gilbertbgarza@gmail.com">gilbertbgarza@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">`x |> f(y)` desugars to `f(y)(x)`</div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Dec 12, 2015 at 2:55 PM, Isiah Meadows <span dir="ltr"><<a href="mailto:isiahmeadows@gmail.com" target="_blank">isiahmeadows@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">Question: does `x |> f(y)` desugar to `f(x, y)`, `f(y, x)`, or `f(y)(x)`?</p>
<br><div class="gmail_quote"><div><div><div dir="ltr">On Sat, Dec 12, 2015, 12:17 Gilbert B Garza <<a href="mailto:gilbertbgarza@gmail.com" target="_blank">gilbertbgarza@gmail.com</a>> wrote:<br></div></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">Ah yes, you are correct, it would need to be a special case as I wrote it. This version should work instead:<div><br></div><div></div></div><div dir="ltr"><div><div>```js</div><div>// Assume fs.readFile is an `async` function</div><div>async function runTask () {</div></div></div><div dir="ltr"><div><div>  fs.readFile('./index.txt')</div><div>    |> await</div></div></div><div dir="ltr"><div><div>    |> file => file</div><div>       .split('\n')</div><div>       .map(fs.readFile)</div></div></div><div dir="ltr"><div><div>    |> Promise.all</div><div>    |> await</div></div></div><div dir="ltr"><div><div>    |> all => all.join("\n")</div><div>    |> console.log</div><div>}</div><div>```</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 11, 2015 at 7:08 PM, Kevin Smith <span dir="ltr"><<a href="mailto:zenparsing@gmail.com" target="_blank">zenparsing@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>```js</div><div><div>// Assume fs.readFile is an `async` function</div><div>async function runTask () {</div><div>  './index.txt'</div><div>    |> await fs.readFile</div><div>    |> file => file</div><div>       .split('\n')</div><div>       .map(fs.readFile)</div><div>    |> await Promise.all</div><div>    |> all => all.join("\n")</div><div>    |> console.log</div><div>}</div></div><div>```</div></div></blockquote><div><br></div></span><div>This doesn't work unless you special case the semantics of await expressions.  With the current semantics, `await fs.readFile` will just await `fs.readFile` not the result of applying it.</div><div><br></div></div></div>
</blockquote></div><br></div></div></div><span>
_______________________________________________<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" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</span></blockquote></div>
</blockquote></div><br></div>
</blockquote></div>