here is the relevant discussion:  
https://github.com/JuliaLang/julia/issues/5314 

On Friday, December 18, 2015 at 8:09:10 AM UTC-5, Tamas Papp wrote:
>
> For example, 
>
> julia> isequal(NaN,NaN16) 
> true 
>
> julia> isequal(NaN,NaN32) 
> true 
>
> This is of course documented in the manual, what I would like to 
> understand is the motivation for this design decision. Some languages 
> have a progression of equality predicates --- eg Common Lisp has EQ, 
> EQL, EQUAL, and EQUALP, each more permissive than the next one. But == 
> and isequal do not nest, since NaN's are of course not == to anything 
> under IEEE, even themselves. 
>
> Before reading about this in the manual, I thought of isequal as object 
> identity ("A and B are equal when they cannot be distinguished"), but 
> apparently that's the wrong concept. 
>
> Just curious -- there must be a good reason and I would like to know it. 
>
> Best, 
>
> Tamas 
>

Reply via email to