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

Reply via email to