Safe Haskell | Trustworthy |
---|---|
Language | Haskell2010 |
Data.Type.Equality.Hetero
Description
This module shims kind heterogeneous propositional equality.
Note: some instances: Read
, Enum
, Bounded
and Data
would be available
only since GHC-8.0 as we need ~~
constraint.
Also GH-7.10.3 is nitpicky data constructor ‘HRefl’ cannot be GADT-like in its *kind* arguments,
thus this module is available only with GHC >= 8.0
Documentation
data (a :: k1) :~~: (b :: k2) where #
Instances
Category ((:~~:) :: k -> k -> Type) | |
TestCoercion ((:~~:) a :: k -> Type) | |
Defined in Data.Type.Coercion Methods testCoercion :: forall (a0 :: k) (b :: k). (a :~~: a0) -> (a :~~: b) -> Maybe (Coercion a0 b) | |
TestEquality ((:~~:) a :: k -> Type) | |
Defined in Data.Type.Equality Methods testEquality :: forall (a0 :: k) (b :: k). (a :~~: a0) -> (a :~~: b) -> Maybe (a0 :~: b) | |
(Typeable i, Typeable j, Typeable a, Typeable b, a ~~ b) => Data (a :~~: b) | |
Defined in Data.Data Methods gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> (a :~~: b) -> c (a :~~: b) gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (a :~~: b) toConstr :: (a :~~: b) -> Constr dataTypeOf :: (a :~~: b) -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (a :~~: b)) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (a :~~: b)) gmapT :: (forall b0. Data b0 => b0 -> b0) -> (a :~~: b) -> a :~~: b gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> (a :~~: b) -> r gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> (a :~~: b) -> r gmapQ :: (forall d. Data d => d -> u) -> (a :~~: b) -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> (a :~~: b) -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> (a :~~: b) -> m (a :~~: b) gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> (a :~~: b) -> m (a :~~: b) gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> (a :~~: b) -> m (a :~~: b) | |
a ~~ b => Bounded (a :~~: b) | |
Defined in Data.Type.Equality | |
a ~~ b => Enum (a :~~: b) | |
Defined in Data.Type.Equality | |
a ~~ b => Read (a :~~: b) | |
Defined in Data.Type.Equality | |
Show (a :~~: b) | |
Eq (a :~~: b) | |
Ord (a :~~: b) | |
Defined in Data.Type.Equality |