| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.OpenWitness.Typeable
Description
This is an approximate re-implementation of Data.Typeable using open witnesses.
Synopsis
- class Typeable (a :: k) where
- type Fun = (->)
- cast :: forall (a :: *) (b :: *). (Typeable a, Typeable b) => a -> Maybe b
- gcast :: forall (k :: *) (a :: k) (b :: k) (c :: k -> *). (Typeable a, Typeable b) => c a -> Maybe (c b)
- mkFunTy :: TypeRep a -> TypeRep b -> TypeRep (a -> b)
- funResultTy :: TypeRep (a -> b) -> TypeRep a -> Maybe (TypeRep b)
- mkAppTy :: forall (k1 :: *) (k2 :: *) (f :: k1 -> k2) (a :: k1). TypeRep f -> TypeRep a -> TypeRep (f a)
Documentation
class Typeable (a :: k) where #
types of kind * with a representation
Minimal complete definition
Instances
| (Typeable f, Typeable a) => Typeable (f a :: k2) # | |
Defined in Data.OpenWitness.Typeable | |
| Typeable Bool # | |
Defined in Data.OpenWitness.Typeable | |
| Typeable Char # | |
Defined in Data.OpenWitness.Typeable | |
| Typeable Int # | |
Defined in Data.OpenWitness.Typeable | |
| Typeable Type # | |
Defined in Data.OpenWitness.Typeable | |
| Typeable Constraint # | |
Defined in Data.OpenWitness.Typeable Methods | |
| Typeable () # | |
Defined in Data.OpenWitness.Typeable | |
| Typeable Either # | |
Defined in Data.OpenWitness.Typeable | |
| Typeable (,) # | |
Defined in Data.OpenWitness.Typeable | |
| Typeable [] # | |
Defined in Data.OpenWitness.Typeable | |
| Typeable Maybe # | |
Defined in Data.OpenWitness.Typeable | |
| Typeable (Typeable :: k -> Constraint) # | |
Defined in Data.OpenWitness.Typeable | |
| Typeable (TypeRep :: k -> *) # | |
Defined in Data.OpenWitness.Typeable | |
| Typeable ((->) :: * -> * -> *) # | |
Defined in Data.OpenWitness.Typeable | |
gcast :: forall (k :: *) (a :: k) (b :: k) (c :: k -> *). (Typeable a, Typeable b) => c a -> Maybe (c b) #
mkFunTy :: TypeRep a -> TypeRep b -> TypeRep (a -> b) #
given representations of a and b, make a representation of a -> b