Copyright | (c) The University of Glasgow CWI 2001--2015 |
---|---|
License | BSD-style (see the file libraries/base/LICENSE) |
Safe Haskell | Safe |
Language | Haskell2010 |
- 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
- data KindRep :: *
- data TypeLitSort :: *
- data TyCon :: *
- mkTrCon :: forall k (a :: k). TyCon -> [SomeTypeRep] -> TypeRep a
- tyConKindRep :: TyCon -> KindRep
- tyConKindArgs :: TyCon -> Int
Type representations
data TypeRep (a :: k) Source #
A concrete representation of a (monomorphic) type.
TypeRep
supports reasonably efficient equality.
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.
Note that this is known-key to the compiler, which uses it in desugar
Typeable
evidence.
:: 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.
Kind representations
The representation produced by GHC for conjuring up the kind of a
TypeRep
.
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 #