Skip to content

Make it clearer that Geq is also about value equality #64

@jeltsch

Description

@jeltsch

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:

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.

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions