open-witness-0.4: open witnesses

Safe HaskellNone
LanguageHaskell2010

Data.Type.Heterogeneous

Synopsis

Documentation

data HetEq a b where #

Constructors

ReflH :: forall k t. HetEq t t 

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

somewhat awkwardly named

class TestHetEquality w where #

Minimal complete definition

testHetEquality

Methods

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

Instances

TestHetEquality TypeRep # 

Methods

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

TestHetEquality (OpenWitness s) # 

Methods

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