Discussion Thread: DIP 1042--ProtoObject--Community Review Round 1

Dom DiSc dominikus at scherkl.de
Fri Jan 14 01:48:06 UTC 2022


On Thursday, 13 January 2022 at 00:59:49 UTC, Mike Parker wrote:
> On Wed, Jan 12, 2022 at 08:26:17PM +0000, Dom DiSc via 
> Digitalmars-d wrote:
> [...]
>> By far the most classes will contain non-comparable values, 
>> because
>> there is only a few "completely ordered" things out there, and 
>> most of
>> them like simple numbers are already implemented.
>
> This makes me question the wisdom of putting opCmp in the 
> common base of
> all classes.  If only a small subset of classes will be 
> comparable with
> each other

This is a misunderstanding.
First of all, you don't compare classes, but objects (instances) 
of the same class.
And the majority of objects may well be comparable.
My argument was: Nearly every class will contain _some_ (most 
times even only very few) objects that can not be compared to 
others. This means: The class is not completely ordered, but 
still partially ordered. And we need a value to express this 
non-comparability.
And comparison is very important in most classes, even if they 
are only partially ordered, so having a common interface for that 
(and I mean: _identical_ in every class, so e.g. always returning 
the same type, namely the 4 float-values -1, 0, 1 and NaN) is 
very important.


More information about the Digitalmars-d mailing list