Skip to content

GEq (Product f g) instance requires more than needed. #55

@phadej

Description

@phadej

Consider

data Tag a where
  TagInt :: Tag Int
  TagBool :: Tag Bool

then we can implement a function of type

geqEx :: Product Tag [] a -> Product Tag b -> Maybe (a :~: b)

working as geq. But that Product doesn't have GEq instance.

We can either document this, or remove the instance for the same reason as there isn't TestEquality (Product f g) as in "we don't want to chose which way to bias the instance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions