What are your thoughts on the new Pipeline operator being proposed for JavaScript?
Currently they are working out the flavor of the syntax. Looks like it's between Hack and F# syntax.
Hack Flavor
Provides explicit placeholders. The operation pipes the previous result to the parameter holding the %
sign.
value |> one(%) |> two(%) |> three(%)
value
|> one('foo', %)
|> two('bar', %)
|> three('baz', %)
F# Flavor
Provides implicit syntax but could easily be paired with lambdas for more complex pipelines.
value |> one |> two |> three
value
|> x => one('foo', x)
|> x => two('bar', x)
|> x => three('baz', x)
My Hot Take
Personally I don't like the Hack Flavor. I mainly crave the implicit syntax from F#. Adding an explicit special character to act as a placeholder seems rather annoying.
However, it sounds like the F# flavor comes with some performance pitfalls and could be more difficult to use with async code.
What do you think?