Copyright | (c) The University of Glasgow CWI 2001--2015 |
---|---|
License | BSD-style (see the file libraries/base/LICENSE) |
Safe Haskell | Safe |
Language | Haskell2010 |
The representations of the types TyCon
and TypeRep
, and the function mkTyCon
which is used by derived instances of Typeable
to construct TyCon
s.
Be warned, these functions can be used to construct ill-kinded type representations.
A concrete representation of a (monomorphic) type. TypeRep
supports reasonably efficient equality.
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.
:: 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
someTypeRepFingerprint :: SomeTypeRep -> Fingerprint Source
The representation produced by GHC for conjuring up the kind of a TypeRep
.
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
TypeLitSymbol | |
TypeLitNat |
Show TypeLitSort | Since: base-4.11.0.0 |
Defined in GHC.Show MethodsshowsPrec :: Int -> TypeLitSort -> ShowS Source show :: TypeLitSort -> String Source showList :: [TypeLitSort] -> ShowS Source |
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
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.8.3/docs/html/libraries/base-4.13.0.0/Type-Reflection-Unsafe.html