Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data (a :: k1) :~~: (b :: k2) where
- withHRefl :: forall ka (a :: ka) kb (b :: kb) (r :: Type). (a :~~: b) -> (a ~~ b => r) -> r
- hetHomoEq :: forall (k :: Type) (a :: k) (b :: k). (a :~~: b) -> a :~: b
- class TestHetEquality (w :: forall k. k -> Type) where
- testHetEquality :: forall (ka :: Type) (a :: ka) (kb :: Type) (b :: kb). w a -> w b -> Maybe (a :~~: b)
- data HetEqual a b where
Documentation
data (a :: k1) :~~: (b :: k2) where infix 4 #
Kind heterogeneous propositional equality. Like :~:
, a :~~: b
is
inhabited by a terminating value if and only if a
is the same type as b
.
Since: base-4.10.0.0
Instances
Category ((:~~:) :: k -> k -> Type) | Since: base-4.10.0.0 |
TestEquality ((:~~:) a :: k -> Type) | Since: base-4.10.0.0 |
Defined in Data.Type.Equality | |
a ~~ b => Bounded (a :~~: b) | Since: base-4.10.0.0 |
a ~~ b => Enum (a :~~: b) | Since: base-4.10.0.0 |
Defined in Data.Type.Equality succ :: (a :~~: b) -> a :~~: b # pred :: (a :~~: b) -> a :~~: b # fromEnum :: (a :~~: b) -> Int # enumFrom :: (a :~~: b) -> [a :~~: b] # enumFromThen :: (a :~~: b) -> (a :~~: b) -> [a :~~: b] # enumFromTo :: (a :~~: b) -> (a :~~: b) -> [a :~~: b] # enumFromThenTo :: (a :~~: b) -> (a :~~: b) -> (a :~~: b) -> [a :~~: b] # | |
a ~~ b => Read (a :~~: b) | Since: base-4.10.0.0 |
Show (a :~~: b) | Since: base-4.10.0.0 |
Eq (a :~~: b) | Since: base-4.10.0.0 |
Ord (a :~~: b) | Since: base-4.10.0.0 |
HasDict (a ~~ b) (a :~~: b) | |
withHRefl :: forall ka (a :: ka) kb (b :: kb) (r :: Type). (a :~~: b) -> (a ~~ b => r) -> r Source #
hetHomoEq :: forall (k :: Type) (a :: k) (b :: k). (a :~~: b) -> a :~: b Source #
somewhat awkwardly named
class TestHetEquality (w :: forall k. k -> Type) where Source #
testHetEquality :: forall (ka :: Type) (a :: ka) (kb :: Type) (b :: kb). w a -> w b -> Maybe (a :~~: b) Source #
Instances
TestHetEquality (HetEqual a) Source # | |
Defined in Data.Type.Witness.General.TestHetEquality |
data HetEqual a b where Source #
Equivalent to :~~:
, but can be made an instance of TestHetEquality
Instances
TestHetEquality (HetEqual a) Source # | |
Defined in Data.Type.Witness.General.TestHetEquality |