Which is funny, of course, given that AFAIK the whole reason PartialOrd
exists is the IEEE 754 floating-point semantics. Is there even precedence for objects that behave like IEEE floats in mathematics? Are they weird enough to not match any more-or-less commonly used terminology?
NULL
in SQL has similar semantics but seems more sane in that it embraces true three-valued logic: its "PartialEq" actually returns "Option<bool>" in Rust terms. So NULL == NULL
is neither true nor false, it is itself NULL
, as in unknown, just like NULL < NULL
.