If you're inventing a special shorthand for functions like foo(42, ^), then why only in the context of a pipe? Make up some punctuation to introduce or surround this kind of expression, then use it anywhere. Less to learn, more useful.
val plus: (Int, Int) => Int = _ + _ foo(42, ?)
but not what you'd write within this pipe syntax as foo(42, ^) + 1
The tradeoff is that it doesn't need some extra delimiter since the function call is what delimits it. Perhaps that's a better tradeoff, I'm not sure; but for sure we shouldn't have both.I'm jesting of course, I find JavaScript already too complicated, it's like some people want to make it look like Scala... just no.
A TC39 member on this topic of restraint and priorities: https://erights.medium.com/the-tragedy-of-the-common-lisp-wh...
I get that you don't want it *to become* complicated, but as it currently is, JavaScript is still a rather simple language.