he is trolling :) On Thursday, 24 March 2016, Nikita Popov <nikita....@gmail.com> wrote:
> On Thu, Mar 24, 2016 at 8:05 PM, Sara Golemon <poll...@php.net > <javascript:;>> wrote: > > > On Thu, Mar 24, 2016 at 11:50 AM, Colin O'Dell <colinod...@gmail.com > <javascript:;>> > > wrote: > > > Would your proposal also allow !==== to work? > > > > > I think you means !===, which is "not-identical assignment" (!== =) > > > > !==== is just *CRAZY TALK* > > > > We shouldn't dismiss such things out of hand, Sara. Consider the following > argument: > > There is a binary !== operator. The compound assignment version of it is > !===. But that again is a binary operator! So there should be a !==== > compound assignment operator as well. By induction over the natural numbers > it follows that !== followed by an arbitrary number of =s should be a valid > compound assignment operator. > > However, when considering the expansion, we see: > > $a !==== $b; > // same as > $a = $a !=== $b; > // same as > $a = $a = $a !== $b; > > It is now evident that $a !==== $b (or any additional number of =s) has the > same meaning as $a !=== $b. A difference could only arise if the left-hand > side is an object implementing __set or ArrayAccess, in which case !==== > would cause an additional call to __set / offsetSet. > > Given that !==== and !=== would be, apart from the edge-case of overloaded > objects, identical, I must concur with your original judgement that only > supporting !=== is sufficient. > > Thanks, > Nikita > -- Mutlu Koçak | Computer Scientist & Engineer Mobile: +420775259871 Parizksa 5, Praha 1 Prague Czech Republic Personal Website: http://www.mtkocak.com