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.

Reply via email to