Clojure is a functional language, so it meshes well with the rest of the syntax, but in javascript's case it's just syntax bloat. It's going to be really jarring in the middle of regular imperative code, and it's not going to be too far removed from
Whether `|>` would mesh with your code depends on the code that's already there.
Doesn't seem fair to shut down this proposal because you happen to write and work with imperative code, a style that Javascript and modern abstractions are moving away from.
In fact, the Javascript hack to get a pipeline-like style is to make some opaque wrapper object that you can chain method calls onto like `_.chain(a).b().c().d().value()` in Lodash, when all you wanted was a chain of function application.
`|>`, `<|`, composition operators, and friends would all be welcome complements to the Javascript code bases I've worked with in the last few years.
# Why not
## Lodash
`_.flow(b,c,d)(a)` // left to right
`_.compose(d,c,b)(a)` // right to left
`_.flowRight(d,c,b)(a)` // right to left
`_.backflow(d,c,b)(a)` // right to left
## RamdaJS
`_.pipe(b,c,d)(a)` // left to right
# But why
are we inventing so many ways of doing forward, backward function application and composition.
Aside:
I've never found an application of lodash `_.chain` that couldn't be expressed in a better way.
reply