Question: does `x |> f(y)` desugar to `f(x, y)`, `f(y, x)`, or `f(y)(x)`?
On Sat, Dec 12, 2015, 12:17 Gilbert B Garza <[email protected]> wrote: > Ah yes, you are correct, it would need to be a special case as I wrote it. > This version should work instead: > > ```js > // Assume fs.readFile is an `async` function > async function runTask () { > fs.readFile('./index.txt') > |> await > |> file => file > .split('\n') > .map(fs.readFile) > |> Promise.all > |> await > |> all => all.join("\n") > |> console.log > } > ``` > > On Fri, Dec 11, 2015 at 7:08 PM, Kevin Smith <[email protected]> wrote: > >> ```js >>> // Assume fs.readFile is an `async` function >>> async function runTask () { >>> './index.txt' >>> |> await fs.readFile >>> |> file => file >>> .split('\n') >>> .map(fs.readFile) >>> |> await Promise.all >>> |> all => all.join("\n") >>> |> console.log >>> } >>> ``` >>> >> >> 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. >> >> > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

