base-compat-0.13.1: A compatibility layer for base
Safe HaskellTrustworthy
LanguageHaskell2010

Data.Type.Coercion.Compat

Documentation

gcoerceWith :: forall {k} (a :: k) (b :: k) r. Coercion a b -> (Coercible a b => r) -> r #

data Coercion (a :: k) (b :: k) where #

Constructors

Coercion :: forall {k} (a :: k) (b :: k). Coercible a b => Coercion a b 

Instances

Instances details
Category (Coercion :: k -> k -> Type) 
Instance details

Defined in Control.Category

Methods

id :: forall (a :: k). Coercion a a

(.) :: forall (b :: k) (c :: k) (a :: k). Coercion b c -> Coercion a b -> Coercion a c

TestCoercion (Coercion a :: k -> Type) 
Instance details

Defined in Data.Type.Coercion

Methods

testCoercion :: forall (a0 :: k) (b :: k). Coercion a a0 -> Coercion a b -> Maybe (Coercion a0 b) #

(Coercible a b, Data a, Data b) => Data (Coercion a b) 
Instance details

Defined in Data.Data

Methods

gfoldl :: (forall d b0. Data d => c (d -> b0) -> d -> c b0) -> (forall g. g -> c g) -> Coercion a b -> c (Coercion a b)

gunfold :: (forall b0 r. Data b0 => c (b0 -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Coercion a b)

toConstr :: Coercion a b -> Constr

dataTypeOf :: Coercion a b -> DataType

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Coercion a b))

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Coercion a b))

gmapT :: (forall b0. Data b0 => b0 -> b0) -> Coercion a b -> Coercion a b

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Coercion a b -> r

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Coercion a b -> r

gmapQ :: (forall d. Data d => d -> u) -> Coercion a b -> [u]

gmapQi :: Int -> (forall d. Data d => d -> u) -> Coercion a b -> u

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Coercion a b -> m (Coercion a b)

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Coercion a b -> m (Coercion a b)

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Coercion a b -> m (Coercion a b)

Coercible a b => Bounded (Coercion a b) 
Instance details

Defined in Data.Type.Coercion

Methods

minBound :: Coercion a b #

maxBound :: Coercion a b #

Coercible a b => Enum (Coercion a b) 
Instance details

Defined in Data.Type.Coercion

Methods

succ :: Coercion a b -> Coercion a b #

pred :: Coercion a b -> Coercion a b #

toEnum :: Int -> Coercion a b #

fromEnum :: Coercion a b -> Int #

enumFrom :: Coercion a b -> [Coercion a b] #

enumFromThen :: Coercion a b -> Coercion a b -> [Coercion a b] #

enumFromTo :: Coercion a b -> Coercion a b -> [Coercion a b] #

enumFromThenTo :: Coercion a b -> Coercion a b -> Coercion a b -> [Coercion a b] #

Coercible a b => Read (Coercion a b) 
Instance details

Defined in Data.Type.Coercion

Show (Coercion a b) 
Instance details

Defined in Data.Type.Coercion

Methods

showsPrec :: Int -> Coercion a b -> ShowS #

show :: Coercion a b -> String #

showList :: [Coercion a b] -> ShowS #

Eq (Coercion a b) 
Instance details

Defined in Data.Type.Coercion

Methods

(==) :: Coercion a b -> Coercion a b -> Bool #

(/=) :: Coercion a b -> Coercion a b -> Bool #

Ord (Coercion a b) 
Instance details

Defined in Data.Type.Coercion

Methods

compare :: Coercion a b -> Coercion a b -> Ordering #

(<) :: Coercion a b -> Coercion a b -> Bool #

(<=) :: Coercion a b -> Coercion a b -> Bool #

(>) :: Coercion a b -> Coercion a b -> Bool #

(>=) :: Coercion a b -> Coercion a b -> Bool #

max :: Coercion a b -> Coercion a b -> Coercion a b #

min :: Coercion a b -> Coercion a b -> Coercion a b #

class TestCoercion (f :: k -> Type) where #

Methods

testCoercion :: forall (a :: k) (b :: k). f a -> f b -> Maybe (Coercion a b) #

Instances

Instances details
TestCoercion SNat 
Instance details

Defined in GHC.TypeNats

Methods

testCoercion :: forall (a :: Nat) (b :: Nat). SNat a -> SNat b -> Maybe (Coercion a b) #

TestCoercion SChar 
Instance details

Defined in GHC.TypeLits

Methods

testCoercion :: forall (a :: Char) (b :: Char). SChar a -> SChar b -> Maybe (Coercion a b) #

TestCoercion SSymbol 
Instance details

Defined in GHC.TypeLits

Methods

testCoercion :: forall (a :: Symbol) (b :: Symbol). SSymbol a -> SSymbol b -> Maybe (Coercion a b) #

TestCoercion (Coercion a :: k -> Type) 
Instance details

Defined in Data.Type.Coercion

Methods

testCoercion :: forall (a0 :: k) (b :: k). Coercion a a0 -> Coercion a b -> Maybe (Coercion a0 b) #

TestCoercion ((:~:) a :: k -> Type) 
Instance details

Defined in Data.Type.Coercion

Methods

testCoercion :: forall (a0 :: k) (b :: k). (a :~: a0) -> (a :~: b) -> Maybe (Coercion a0 b) #

TestCoercion ((:~~:) a :: k -> Type) 
Instance details

Defined in Data.Type.Coercion

Methods

testCoercion :: forall (a0 :: k) (b :: k). (a :~~: a0) -> (a :~~: b) -> Maybe (Coercion a0 b) #

coerceWith :: Coercion a b -> a -> b #

repr :: forall {k} (a :: k) (b :: k). (a :~: b) -> Coercion a b #

sym :: forall {k} (a :: k) (b :: k). Coercion a b -> Coercion b a #

trans :: forall {k} (a :: k) (b :: k) (c :: k). Coercion a b -> Coercion b c -> Coercion a c #

gcoerceWith :: forall {k} (a :: k) (b :: k) r. Coercion a b -> (Coercible a b => r) -> r #