On Fri, Oct 26, 2018 at 9:57 AM Kalle Sommer Nielsen <ka...@php.net> wrote:
>
> Den fre. 26. okt. 2018 kl. 17.43 skrev Larry Garfield 
> <la...@garfieldtech.com>:
> > I believe the proposal for short lambas (which should get resurrected at 
> > some
> > point) would handle this case well enough as well as help a dozen other
> > things.  To wit:
> >
> > array_filter($names, |$x| ==> trim($x))
>
> I still fail to see why it would be considered to have that over a
> perfectly encapsulted string for a callback, using a lambda/closure is
> just an extra runtime call for syntax sugar, that seems poor in my
> eyes.
>
> What would be ideal here, would be for functions to be first class
> citizens in callback contexts, like in C to avoid the quotation,
> however it clashes with constants. A hack you can do in userland could
> be something like:
>
> const trim = 'trim';
> array_filter($names, trim);

In my opinion "ideal" here is that our symbol tables are merged, so
referring to "trim" in any context will resolve to at most one symbol,
*and* that we also have a short-closure syntax for times when there
isn't a *perfect* function to use.

In the next version of PHP I would really like to see some warnings
for when symbol names get re-used so that in the future we can merge
them with less of a BC break.

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

Reply via email to