ghc-9.0.2: The GHC API
Safe HaskellSafe-Inferred




This module defines TyCons that can't be expressed in Haskell. They are all, therefore, wired-in TyCons. C.f module GHC.Builtin.Types



mkTemplateKiTyVars :: [Kind] -> ([Kind] -> [Kind]) -> [TyVar] Source #

tYPE :: Type -> Type Source #

Given a RuntimeRep, applies TYPE to it. see Note [TYPE and RuntimeRep]

primRepToRuntimeRep :: PrimRep -> Type Source #

Convert a PrimRep to a Type of kind RuntimeRep Defined here to avoid (more) module loops

funTyCon :: TyCon Source #

The FUN type constructor.

FUN :: forall {m :: Multiplicity} {rep1 :: RuntimeRep} {rep2 :: RuntimeRep}.
        TYPE rep1 -> TYPE rep2 -> *

The runtime representations quantification is left inferred. This means they cannot be specified with -XTypeApplications.

This is a deliberate choice to allow future extensions to the function arrow. To allow visible application a type synonym can be defined:

type Arr :: forall (rep1 :: RuntimeRep) (rep2 :: RuntimeRep).
            TYPE rep1 -> TYPE rep2 -> Type
type Arr = FUN

unexposedPrimTyCons :: [TyCon] Source #

Primitive TyCons that are defined in GHC.Prim but not exposed. It's important to keep these separate as we don't want users to be able to write them (see #15209) or see them in GHCi's :browse output (see #12023).

exposedPrimTyCons :: [TyCon] Source #

Primitive TyCons that are defined in, and exported from, GHC.Prim.

equalityTyCon :: Role -> TyCon Source #

Given a Role, what TyCon is the type of equality predicates at that role?