On Tuesday, 12 January 2016 at 20:25:25 UTC, Andrei Alexandrescu
wrote:
D uses !(b < a) for a <= b. We can invent notation to disallow
that rewrite.
Anyhow the use of <, >, <=, and >= for partially ordered types
is bound to be less than smooth. Math papers and books often
use other notations (such as rounded or square less-than) to
denote operators for partially ordered data, exactly because
denoting them with the classic notation may confuse the reader.
Andrei
It is perfectly fine to use !(b < a) for a <= b. But as John has
pointed out this is sensible only if '<=' is total.
Personally, I'm unsure about the best solution for D. I
understand Walter's argument to 'keep it simple' and do not
support non-total opCmp. On the other hand it is a bit
unsatisfactory that one cannot write a custom type that behaves
like float.