On Tuesday, 12 January 2016 at 19:00:11 UTC, Andrei Alexandrescu
wrote:
On 01/12/2016 01:27 PM, John Colvin wrote:
Preorder or partial order: not possible in D, opCmp insists on
totality.
The way I look at it, a partial order would implement opCmp and
opEqual such that a < b, b < a, and a == b are simultaneously
false for unordered objects. Would that float your boat? --
Andrei
a<=b and b<=a must also be false. That would work for a partial
order, yes. Unfortunately, that's not possible with the current
opCmp design, hence my 2 suggestions for improvements (I'm pretty
sure the second one is better).
The key thing is to have a design that doesn't enforce totality.