ghc-9.2.8: The GHC API
Safe HaskellSafe-Inferred
LanguageHaskell2010

GHC.Builtin.Types.Prim

Contents

Description

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

Synopsis

Documentation

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

primRepToRuntimeRep :: PrimRep -> Type Source #

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

primRepsToRuntimeRep :: [PrimRep] -> Type Source #

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

funTyCon :: TyCon Source #

The FUN type constructor.

FUN :: forall (m :: Multiplicity) ->
       forall {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 'Many

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?

SIMD