`x |> f(y)` desugars to `f(y)(x)` On Sat, Dec 12, 2015 at 2:55 PM, Isiah Meadows <[email protected]> wrote:
> 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

