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