Copyright | (c) The University of Glasgow CWI 2001--2015 |
---|---|
License | BSD-style (see the file libraries/base/LICENSE) |
Safe Haskell | Safe |
Language | Haskell2010 |
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 -> *) Source # | |
Defined in Data.Typeable.Internal | |
Eq (TypeRep a) Source # | Since: base-2.1 |
Ord (TypeRep a) Source # | Since: base-4.4.0.0 |
Defined in Data.Typeable.Internal | |
Show (TypeRep a) Source # | |
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.
:: 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.
KindRepTyConApp TyCon [KindRep] | |
KindRepVar !KindBndr | |
KindRepApp KindRep KindRep | |
KindRepFun KindRep KindRep | |
KindRepTYPE !RuntimeRep | |
KindRepTypeLitS TypeLitSort Addr# | |
KindRepTypeLitD TypeLitSort [Char] |
pattern KindRepTypeLit :: TypeLitSort -> String -> KindRep |
data TypeLitSort Source #
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 #