open-witness-0.4.0.1: open witnesses

Safe HaskellNone
LanguageHaskell2010

Data.Type.Heterogeneous

Synopsis

Documentation

data HetEq (a :: ka) (b :: kb) where #

Constructors

ReflH :: forall (k :: *) (t :: k). HetEq t t 

homoHetEq :: forall (k :: *) (a :: k) (b :: k). HetEq a b -> a :~: b #

somewhat awkwardly named

class TestHetEquality (w :: forall k. k -> *) where #

Minimal complete definition

testHetEquality

Methods

testHetEquality :: forall (ka :: *) (a :: ka) (kb :: *) (b :: kb). w a -> w b -> Maybe (HetEq a b) #

Instances

TestHetEquality TypeRep # 

Methods

testHetEquality :: TypeRep ka a -> TypeRep kb b -> Maybe (HetEq ka kb a b) #

TestHetEquality (OpenWitness s) # 

Methods

testHetEquality :: OpenWitness s ka a -> OpenWitness s kb b -> Maybe (HetEq ka kb a b) #