Re: [RFC] Pipe to return
| From: | Morgan | Date: | Tue, 03 Feb 2026 21:58:36 +0000 |
| Subject: | Re: [RFC] Pipe to return | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-129997@lists.php.net to get a copy of this message | ||
On 2026-01-31 18:52, Vadim Dvorovenko wrote:
Introducing Pipe to return RFC
https://wiki.php.net/rfc/pipe_to_return
In short, RFC proposes piping expression result to return to be used together with pipe operator to reduce cognitive load
"Hello World" |> strlen <http://www.php.net/strlen>(...) |> return;
--
Vadim Dvorovenko
I'm wondering how this would relate to the function composition operator, noted in the follow-up RFC.
Basically, would "return" make sense at the end of a function composition chain, and what sense would that be?
When $x |> f1(...) |> f2(...) |> f3(...);
is equivalent to (f1(...) + f2(...) + f3(...))($x);
[Aside: personally I find the suggested order of arguments backwards from every other instance of function composition I've encountered, but I suppose I could learn to live with it. But that's another subject.]
and $c = f1(...) + f2(...) + f3(...);
is equivalent to $c = fn($x) => ($x |> f1(...) |> f2(...) |> f3(...));
what happens when "f3(...)" is "return"? The intended behaviour is given for the first case but not for the others (not even the fourth, which is still the pipe operator).