Hi all,

On Fri, Jan 23, 2015 at 8:05 PM, Andrea Faulds <a...@ajf.me> wrote:

> > On 23 Jan 2015, at 10:02, Alain Williams <a...@phcomp.co.uk> wrote:
> >
> >> On Fri, Jan 23, 2015 at 12:24:25AM +0000, Andrea Faulds wrote:
> >>
> >> Having it be the same as === would be inconsistent with our existing
> sorting and comparison behaviour, so I don’t think it should be changed. If
> we made it strict like that, we’d also have to define a strict < and > as
> well, otherwise we have a problem, because in some cases ($x !== $y && !($x
> < $y) && !($x > $y)) is TRUE.
> >
> > I think that you mentioned that you might come up with another RFC if
> <=> is
> > successful - that would be for a <==> operator.
> >
> > You might want to mention that ... but it is more complicated if the
> operands
> > are of different types - what does it return in that case ? FALSE ? But
> the same
> > as <=> if the types are the same ?
>
> The RFC did originally say that, Davey had thought of it. I'm not too keen
> on the idea and have removed that bit: I don't really think you can do any
> reasonable "strict" ordering. An error on unmatching types is a royal pain,
> and I know this because I've had to deal with Game Maker Language which did
> this. Sorting by type is fairly unintuitive.
>
> I think that if people want strict ordering, it's trivial to implement the
> particular scheme they want using <=>, casts, type checks, or strcmp().


The only reasonable behavior for <==>, <==, >== would be raising
error/exception if type differs.
E_RECOVERABLE_ERROR may be used.

If anyone write RFC for these operators, I'll vote +1.

Regards,

--
Yasuo Ohgaki
yohg...@ohgaki.net

Reply via email to