On 13 March 2019 15:56:40 GMT+00:00, Nikita Popov <nikita....@gmail.com> wrote:
>Motivated by the recent list comprehensions RFC, I think it's time we
>took
>another look at short closures:
>
>https://wiki.php.net/rfc/arrow_functions_v2

Hi Nikita,

Thanks for reviving this. I think the RFC does a great job of
justifying both the syntax and the behaviour, and focusing on the most
used features without ruling out further additions in future. In
particular, I think whether and how we support auto-capture in full
function bodies has its own pros and cons to debate, separate from
auto-capture as a convenience in short "lambda" expressions.

I was initially quite drawn to a block-style syntax. As someone not
particularly familiar with functional programming (which I suspect
puts me in the majority of PHP users), I actually find it easier to
spot this as "a closure returning a closure":

{ ($x) => { ($y) => $x * $y } }

rather than having to work out the associativity of chained operators:

fn($x) => fn($y) => $x * $y

However, I imagine the only people who will heavily use such a
construct will be those who *are* familiar with functional programming
in other languages, and will find the simpler syntax more familiar and
convenient.

It would also be ugly to add full block bodies in a similar style like
{ ($x) => { ... } }, and while I'm not convinced we need that, we
probably don't want to rule it out completely.

As such, I support the RFC in its current form.

Regards,
-- 
Rowan Collins
[IMSoP]

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to