On 07.02.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
Thank you! I very much appreciate the simplicity (and efficiency) of
the implementation.
> 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. :-)
Fair enough. And with the pipe operator, one might live without a
compose operator, e.g.
$f1 = fn($x) => 2 * $x;
$f2 = fn($x) => $x + 3;
// $f3 = $f2 ∘ $f1
$f3 = fn($x) => $x |> $f1 |> $f2;
Christoph