| Copyright | (c) The University of Glasgow CWI 2001--2015 | 
|---|---|
| License | BSD-style (see the file libraries/base/LICENSE) | 
| Safe Haskell | Safe | 
| Language | Haskell2010 | 
Type.Reflection.Unsafe
Description
Synopsis
- data TypeRep (a :: k)
 - mkTrApp :: forall k1 k2 (a :: k1 -> k2) (b :: k1). TypeRep (a :: k1 -> k2) -> TypeRep (b :: k1) -> TypeRep (a b)
 - mkTyCon :: String -> String -> String -> Int -> KindRep -> TyCon
 - typeRepFingerprint :: TypeRep a -> Fingerprint
 - someTypeRepFingerprint :: SomeTypeRep -> Fingerprint
 - data KindRep where
 - data TypeLitSort
 - data TyCon
 - mkTrCon :: forall k (a :: k). TyCon -> [SomeTypeRep] -> TypeRep a
 - tyConKindRep :: TyCon -> KindRep
 - tyConKindArgs :: TyCon -> Int
 - tyConFingerprint :: TyCon -> Fingerprint
 
Type representations
data TypeRep (a :: k) Source #
A concrete representation of a (monomorphic) type.
 TypeRep supports reasonably efficient equality.
Instances
| TestEquality (TypeRep :: k -> Type) # | |
Defined in Data.Typeable.Internal  | |
| Eq (TypeRep a) # | Since: base-2.1  | 
| Ord (TypeRep a) # | Since: base-4.4.0.0  | 
Defined in Data.Typeable.Internal  | |
| Show (TypeRep a) # | |
mkTrApp :: forall k1 k2 (a :: k1 -> k2) (b :: k1). TypeRep (a :: k1 -> k2) -> TypeRep (b :: k1) -> TypeRep (a b) Source #
Construct a representation for a type application.
Arguments
| :: String | package name  | 
| -> String | module name  | 
| -> String | the name of the type constructor  | 
| -> Int | number of kind variables  | 
| -> KindRep | kind representation  | 
| -> TyCon | A unique   | 
Exquisitely unsafe.
typeRepFingerprint :: TypeRep a -> Fingerprint Source #
Observe the Fingerprint of a type representation
Since: base-4.8.0.0
Kind representations
The representation produced by GHC for conjuring up the kind of a
 TypeRep.
Constructors
| KindRepTyConApp TyCon [KindRep] | |
| KindRepVar !KindBndr | |
| KindRepApp KindRep KindRep | |
| KindRepFun KindRep KindRep | |
| KindRepTYPE !RuntimeRep | |
| KindRepTypeLitS TypeLitSort Addr# | |
| KindRepTypeLitD TypeLitSort [Char] | 
Bundled Patterns
| pattern KindRepTypeLit :: TypeLitSort -> String -> KindRep | 
data TypeLitSort Source #
Constructors
| TypeLitSymbol | |
| TypeLitNat | 
Instances
| Show TypeLitSort # | Since: base-4.11.0.0  | 
Type constructors
mkTrCon :: forall k (a :: k). TyCon -> [SomeTypeRep] -> TypeRep a Source #
Construct a representation for a type constructor applied at a monomorphic kind.
Note that this is unsafe as it allows you to construct ill-kinded types.
tyConKindRep :: TyCon -> KindRep Source #
tyConKindArgs :: TyCon -> Int Source #
tyConFingerprint :: TyCon -> Fingerprint Source #