| 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 -> *) # | |
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. See Note [Representing TyCon kinds: KindRep] in TcTypeable.
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 |
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 #