Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.OpenWitness.Typeable
Description
This is an approximate re-implementation of Data.Typeable using open witnesses.
- 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 (k1 -> k2) f, Typeable k1 a) => Typeable k2 (f a) # | |
Typeable * Bool # | |
Typeable * Char # | |
Typeable * Int # | |
Typeable * Type # | |
Typeable * Constraint # | |
Typeable * () # | |
Typeable (* -> * -> *) Either # | |
Typeable (* -> * -> *) (,) # | |
Typeable (* -> *) [] # | |
Typeable (* -> *) Maybe # | |
Typeable (k -> Constraint) (Typeable k) # | |
Typeable (k -> *) (TypeRep k) # | |
Typeable (* -> * -> *) ((->) LiftedRep LiftedRep) # | |
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