-
Notifications
You must be signed in to change notification settings - Fork 14
Description
Currently (that is, as of version 1.0.6), the documentation of Geq, including the one of its geq method, doesn’t seem to mention what geq is primarily about: checking of value equality. From what I understand, geq is a heterogeneous equality operator (checking equality of values whose type’s type parameters may differ) with the additional feature that it yields a witness of type parameter equality whenever the given values are equal. The present documentation, however, presents Geq and geq as essentially being about type equality (“decide the equality of types”, “produce a witness of type-equality”). It delves quickly into a comparisons with TestEquality, which isn’t very useful for people like me, who haven’t yet heard about this other class. However, only in this comparison I found hints that geq actually checks value equality. In my opinion, this should be mentioned much more prominently, perhaps similar to how I described geq above:
geqis a heterogeneous equality operator (checking equality of values whose type’s type parameters may differ) with the additional feature that it yields a witness of type parameter equality whenever the given values are equal.
That said, it should be noted that a full heterogeneous equality operator would probably allow the types of its arguments to be arbitrary; so maybe a more refined characterization of geq should be found.