On Fri, Feb 7, 2025, at 05:57, Larry Garfield wrote:
> Hi folks. A few years ago I posted an RFC for a pipe operator, as seen in many other
> languages. At the time it didn't pass, in no small part because the implementation was a bit
> shaky and it was right before freeze. Nonetheless, there are now even more (bad) user-space
> implementations in the wild, as it gets brought up frequently in "what do you want in
> PHP?" threads (though nowhere near generics or better async, of course), so it seems clear
> there is demand in the market for it.
>
> It is now back with a better implementation (many thanks to Ilija for his help and guidance in
> that), and it's nowhere close to freeze, so here we go again:
>
> https://wiki.php.net/rfc/pipe-operator-v3
>
> Of particular note, since the last RFC I have concluded that a compose operator is a necessary
> complement to a pipe operator. However, it's also going to be notably more work, and the two
> operators don't actually interact at all at the code level, so since people keep saying
> "Small RFCs!", here's a small RFC. :-)
>
> --
> Larry Garfield
> [email protected]
>
Hey Larry,
Maybe I missed it, but what happens here?
[1,2] |> add(…)
Is the array deconstructed or passed as-is? Further, if it is passed as-is (my gut is telling me it
will be), then what is the error? Is it the normal “missing second parameter when calling add()”
error or a new error specific to pipes?
If it is passed as-is, would the following be legal?
…[1,2] |> add(…)
— Rob