Re: [RFC] Pipe Operator (again)

From: Date: Fri, 07 Feb 2025 08:14:47 +0000
Subject: Re: [RFC] Pipe Operator (again)
References: 1  Groups: php.internals 
Request: Send a blank email to [email protected] to get a copy of this message


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


Thread (38 messages)

« previous php.internals (#126323) next »