Re: [PHP-DEV] Coalesce assign operator (??=) implemented

2019-01-22 Thread Nikita Popov
On Tue, Jan 22, 2019 at 4:51 PM Björn Larsson 
wrote:

> Hi,
>
> Excellent work! I have been waiting for this :)
>
> Sara, I came to think on the Short ternary Assignment Operator RFC.
> Would this implementation make that one more feasible, given it
> passes a vote?
>

>From an implementation perspective ?:= is nearly identical to ??=, so
implementing it should be quite simple now. Whether an RFC for it would
pass is a different question, I'm not a big fan personally...

Nikita


> r//Björn Larsson
>
> Den 2019-01-22 kl. 11:33, skrev Nikita Popov:
>
> > Hi internals,
> >
> > Some time ago an RFC for the ??= operator has been accepted:
> > https://wiki.php.net/rfc/null_coalesce_equal_operator
> >
> > However, due to implementation difficulties, the RFC hasn't landed since
> > then. I'm happy to say that these difficulties are resolved now, and ??=
> > has landed with
> >
> https://github.com/php/php-src/commit/a50198d0fef652ca052cda642d6e98a9101eb73f
> > .
> >
> > To summarize the important ??= semantics: $a ??= $b is roughly equivalent
> > to $a ?? ($a = $b). In $a[foo()] ??= bar() the function foo() will be
> > evaluated exactly once, and bar() will be evaluated iff $a[foo()] is null
> > (or unset).
> >
> > Regards,
> > Nikita
> >
>


Re: [PHP-DEV] Coalesce assign operator (??=) implemented

2019-01-22 Thread Björn Larsson

Hi,

Excellent work! I have been waiting for this :)

Sara, I came to think on the Short ternary Assignment Operator RFC.
Would this implementation make that one more feasible, given it
passes a vote?

r//Björn Larsson

Den 2019-01-22 kl. 11:33, skrev Nikita Popov:


Hi internals,

Some time ago an RFC for the ??= operator has been accepted:
https://wiki.php.net/rfc/null_coalesce_equal_operator

However, due to implementation difficulties, the RFC hasn't landed since
then. I'm happy to say that these difficulties are resolved now, and ??=
has landed with
https://github.com/php/php-src/commit/a50198d0fef652ca052cda642d6e98a9101eb73f
.

To summarize the important ??= semantics: $a ??= $b is roughly equivalent
to $a ?? ($a = $b). In $a[foo()] ??= bar() the function foo() will be
evaluated exactly once, and bar() will be evaluated iff $a[foo()] is null
(or unset).

Regards,
Nikita



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



[PHP-DEV] Coalesce assign operator (??=) implemented

2019-01-22 Thread Nikita Popov
Hi internals,

Some time ago an RFC for the ??= operator has been accepted:
https://wiki.php.net/rfc/null_coalesce_equal_operator

However, due to implementation difficulties, the RFC hasn't landed since
then. I'm happy to say that these difficulties are resolved now, and ??=
has landed with
https://github.com/php/php-src/commit/a50198d0fef652ca052cda642d6e98a9101eb73f
.

To summarize the important ??= semantics: $a ??= $b is roughly equivalent
to $a ?? ($a = $b). In $a[foo()] ??= bar() the function foo() will be
evaluated exactly once, and bar() will be evaluated iff $a[foo()] is null
(or unset).

Regards,
Nikita