Hoogle Search
Within LTS Haskell 24.52 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
testEquality :: forall (a :: k) (b :: k) . TestEquality f => f a -> f b -> Maybe (a :~: b)parameterized-utils Data.Parameterized.BoolRepr Conditionally prove the equality of a and b.
-
parameterized-utils Data.Parameterized.Classes A polymorphic equality operator that generalizes TestEquality.
class
TestEquality (f :: k -> Type)parameterized-utils Data.Parameterized.Classes This class contains types where you can learn the equality of two types from information contained in terms. The result should be Just Refl if and only if the types applied to f are equal:
testEquality (x :: f a) (y :: f b) = Just Refl ⟺ a = b
Typically, only singleton types should inhabit this class. In that case type argument equality coincides with term equality:testEquality (x :: f a) (y :: f b) = Just Refl ⟺ a = b ⟺ x = y
isJust (testEquality x y) = x == y
Singleton types are not required, however, and so the latter two would-be laws are not in fact valid in general.geqF :: forall (x :: k) (y :: k) . OrdF ktp => ktp x -> ktp y -> Boolparameterized-utils Data.Parameterized.Classes No documentation available.
leqF :: forall (x :: k) (y :: k) . OrdF ktp => ktp x -> ktp y -> Boolparameterized-utils Data.Parameterized.Classes No documentation available.
polyEq :: PolyEq u v => u -> v -> Boolparameterized-utils Data.Parameterized.Classes No documentation available.
polyEqF :: PolyEq u v => u -> v -> Maybe (u :~: v)parameterized-utils Data.Parameterized.Classes No documentation available.
testEquality :: forall (a :: k) (b :: k) . TestEquality f => f a -> f b -> Maybe (a :~: b)parameterized-utils Data.Parameterized.Classes Conditionally prove the equality of a and b.
class
TestEqualityC (t :: k -> Type -> Type)parameterized-utils Data.Parameterized.ClassesC No documentation available.
-
parameterized-utils Data.Parameterized.ClassesC No documentation available.