ghc-8.2.2: The GHC API

Safe Haskell | None
Language | Haskell2010

TysPrim

Contents

- SIMD

Description

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

Synopsis

- mkPrimTyConName :: FastString -> Unique -> TyCon -> Name
- mkTemplateKindVars :: [Kind] -> [TyVar]
- mkTemplateTyVars :: [Kind] -> [TyVar]
- mkTemplateTyVarsFrom :: Int -> [Kind] -> [TyVar]
- mkTemplateKiTyVars :: [Kind] -> ([Kind] -> [Kind]) -> [TyVar]
- mkTemplateTyConBinders :: [Kind] -> ([Kind] -> [Kind]) -> [TyConBinder]
- mkTemplateKindTyConBinders :: [Kind] -> [TyConBinder]
- mkTemplateAnonTyConBinders :: [Kind] -> [TyConBinder]
- alphaTyVars :: [TyVar]
- alphaTyVar :: TyVar
- betaTyVar :: TyVar
- gammaTyVar :: TyVar
- deltaTyVar :: TyVar
- alphaTys :: [Type]
- alphaTy :: Type
- betaTy :: Type
- gammaTy :: Type
- deltaTy :: Type
- runtimeRep1TyVar :: TyVar
- runtimeRep2TyVar :: TyVar
- runtimeRep1Ty :: Type
- runtimeRep2Ty :: Type
- openAlphaTy :: Type
- openBetaTy :: Type
- openAlphaTyVar :: TyVar
- openBetaTyVar :: TyVar
- tYPETyCon :: TyCon
- tYPETyConName :: Name
- tYPE :: Type -> Type
- primRepToRuntimeRep :: PrimRep -> Type
- funTyCon :: TyCon
- funTyConName :: Name
- primTyCons :: [TyCon]
- charPrimTyCon :: TyCon
- charPrimTy :: Type
- charPrimTyConName :: Name
- intPrimTyCon :: TyCon
- intPrimTy :: Type
- intPrimTyConName :: Name
- wordPrimTyCon :: TyCon
- wordPrimTy :: Type
- wordPrimTyConName :: Name
- addrPrimTyCon :: TyCon
- addrPrimTy :: Type
- addrPrimTyConName :: Name
- floatPrimTyCon :: TyCon
- floatPrimTy :: Type
- floatPrimTyConName :: Name
- doublePrimTyCon :: TyCon
- doublePrimTy :: Type
- doublePrimTyConName :: Name
- voidPrimTyCon :: TyCon
- voidPrimTy :: Type
- statePrimTyCon :: TyCon
- mkStatePrimTy :: Type -> Type
- realWorldTyCon :: TyCon
- realWorldTy :: Type
- realWorldStatePrimTy :: Type
- proxyPrimTyCon :: TyCon
- mkProxyPrimTy :: Type -> Type -> Type
- arrayPrimTyCon :: TyCon
- mkArrayPrimTy :: Type -> Type
- byteArrayPrimTyCon :: TyCon
- byteArrayPrimTy :: Type
- arrayArrayPrimTyCon :: TyCon
- mkArrayArrayPrimTy :: Type
- smallArrayPrimTyCon :: TyCon
- mkSmallArrayPrimTy :: Type -> Type
- mutableArrayPrimTyCon :: TyCon
- mkMutableArrayPrimTy :: Type -> Type -> Type
- mutableByteArrayPrimTyCon :: TyCon
- mkMutableByteArrayPrimTy :: Type -> Type
- mutableArrayArrayPrimTyCon :: TyCon
- mkMutableArrayArrayPrimTy :: Type -> Type
- smallMutableArrayPrimTyCon :: TyCon
- mkSmallMutableArrayPrimTy :: Type -> Type -> Type
- mutVarPrimTyCon :: TyCon
- mkMutVarPrimTy :: Type -> Type -> Type
- mVarPrimTyCon :: TyCon
- mkMVarPrimTy :: Type -> Type -> Type
- tVarPrimTyCon :: TyCon
- mkTVarPrimTy :: Type -> Type -> Type
- stablePtrPrimTyCon :: TyCon
- mkStablePtrPrimTy :: Type -> Type
- stableNamePrimTyCon :: TyCon
- mkStableNamePrimTy :: Type -> Type
- compactPrimTyCon :: TyCon
- compactPrimTy :: Type
- bcoPrimTyCon :: TyCon
- bcoPrimTy :: Type
- weakPrimTyCon :: TyCon
- mkWeakPrimTy :: Type -> Type
- threadIdPrimTyCon :: TyCon
- threadIdPrimTy :: Type
- int32PrimTyCon :: TyCon
- int32PrimTy :: Type
- word32PrimTyCon :: TyCon
- word32PrimTy :: Type
- int64PrimTyCon :: TyCon
- int64PrimTy :: Type
- word64PrimTyCon :: TyCon
- word64PrimTy :: Type
- eqPrimTyCon :: TyCon
- eqReprPrimTyCon :: TyCon
- eqPhantPrimTyCon :: TyCon
- int8X16PrimTy :: Type
- int8X16PrimTyCon :: TyCon
- int16X8PrimTy :: Type
- int16X8PrimTyCon :: TyCon
- int32X4PrimTy :: Type
- int32X4PrimTyCon :: TyCon
- int64X2PrimTy :: Type
- int64X2PrimTyCon :: TyCon
- int8X32PrimTy :: Type
- int8X32PrimTyCon :: TyCon
- int16X16PrimTy :: Type
- int16X16PrimTyCon :: TyCon
- int32X8PrimTy :: Type
- int32X8PrimTyCon :: TyCon
- int64X4PrimTy :: Type
- int64X4PrimTyCon :: TyCon
- int8X64PrimTy :: Type
- int8X64PrimTyCon :: TyCon
- int16X32PrimTy :: Type
- int16X32PrimTyCon :: TyCon
- int32X16PrimTy :: Type
- int32X16PrimTyCon :: TyCon
- int64X8PrimTy :: Type
- int64X8PrimTyCon :: TyCon
- word8X16PrimTy :: Type
- word8X16PrimTyCon :: TyCon
- word16X8PrimTy :: Type
- word16X8PrimTyCon :: TyCon
- word32X4PrimTy :: Type
- word32X4PrimTyCon :: TyCon
- word64X2PrimTy :: Type
- word64X2PrimTyCon :: TyCon
- word8X32PrimTy :: Type
- word8X32PrimTyCon :: TyCon
- word16X16PrimTy :: Type
- word16X16PrimTyCon :: TyCon
- word32X8PrimTy :: Type
- word32X8PrimTyCon :: TyCon
- word64X4PrimTy :: Type
- word64X4PrimTyCon :: TyCon
- word8X64PrimTy :: Type
- word8X64PrimTyCon :: TyCon
- word16X32PrimTy :: Type
- word16X32PrimTyCon :: TyCon
- word32X16PrimTy :: Type
- word32X16PrimTyCon :: TyCon
- word64X8PrimTy :: Type
- word64X8PrimTyCon :: TyCon
- floatX4PrimTy :: Type
- floatX4PrimTyCon :: TyCon
- doubleX2PrimTy :: Type
- doubleX2PrimTyCon :: TyCon
- floatX8PrimTy :: Type
- floatX8PrimTyCon :: TyCon
- doubleX4PrimTy :: Type
- doubleX4PrimTyCon :: TyCon
- floatX16PrimTy :: Type
- floatX16PrimTyCon :: TyCon
- doubleX8PrimTy :: Type
- doubleX8PrimTyCon :: TyCon

# Documentation

mkPrimTyConName :: FastString -> Unique -> TyCon -> Name #

mkTemplateKindVars :: [Kind] -> [TyVar] #

mkTemplateTyVars :: [Kind] -> [TyVar] #

mkTemplateTyVarsFrom :: Int -> [Kind] -> [TyVar] #

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

mkTemplateTyConBinders :: [Kind] -> ([Kind] -> [Kind]) -> [TyConBinder] #

mkTemplateKindTyConBinders :: [Kind] -> [TyConBinder] #

mkTemplateAnonTyConBinders :: [Kind] -> [TyConBinder] #

alphaTyVars :: [TyVar] #

alphaTyVar :: TyVar #

betaTyVar :: TyVar #

gammaTyVar :: TyVar #

deltaTyVar :: TyVar #

alphaTys :: [Type] #

alphaTy :: Type #

betaTy :: Type #

gammaTy :: Type #

deltaTy :: Type #

runtimeRep1TyVar :: TyVar #

runtimeRep2TyVar :: TyVar #

runtimeRep1Ty :: Type #

runtimeRep2Ty :: Type #

openAlphaTy :: Type #

openBetaTy :: Type #

openAlphaTyVar :: TyVar #

openBetaTyVar :: TyVar #

tYPETyCon :: TyCon #

tYPETyConName :: Name #

tYPE :: Type -> Type #

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

primRepToRuntimeRep :: PrimRep -> Type #

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

funTyCon :: TyCon #

The `(->)` type constructor.

    (->) :: forall (rep1 :: RuntimeRep) (rep2 :: RuntimeRep).
            TYPE rep1 -> TYPE rep2 -> *

funTyConName :: Name #

primTyCons :: [TyCon] #

charPrimTyCon :: TyCon #

charPrimTy :: Type #

charPrimTyConName :: Name #

intPrimTyCon :: TyCon #

intPrimTy :: Type #

intPrimTyConName :: Name #

wordPrimTyCon :: TyCon #

wordPrimTy :: Type #

wordPrimTyConName :: Name #

addrPrimTyCon :: TyCon #

addrPrimTy :: Type #

addrPrimTyConName :: Name #

floatPrimTyCon :: TyCon #

floatPrimTy :: Type #

floatPrimTyConName :: Name #

doublePrimTyCon :: TyCon #

doublePrimTy :: Type #

doublePrimTyConName :: Name #

voidPrimTyCon :: TyCon #

voidPrimTy :: Type #

statePrimTyCon :: TyCon #

mkStatePrimTy :: Type -> Type #

realWorldTyCon :: TyCon #

realWorldTy :: Type #

realWorldStatePrimTy :: Type #

proxyPrimTyCon :: TyCon #

mkProxyPrimTy :: Type -> Type -> Type #

arrayPrimTyCon :: TyCon #

mkArrayPrimTy :: Type -> Type #

byteArrayPrimTyCon :: TyCon #

byteArrayPrimTy :: Type #

arrayArrayPrimTyCon :: TyCon #

mkArrayArrayPrimTy :: Type #

smallArrayPrimTyCon :: TyCon #

mkSmallArrayPrimTy :: Type -> Type #

mutableArrayPrimTyCon :: TyCon #

mkMutableArrayPrimTy :: Type -> Type -> Type #

mutableByteArrayPrimTyCon :: TyCon #

mkMutableByteArrayPrimTy :: Type -> Type #

mutableArrayArrayPrimTyCon :: TyCon #

mkMutableArrayArrayPrimTy :: Type -> Type #

smallMutableArrayPrimTyCon :: TyCon #

mkSmallMutableArrayPrimTy :: Type -> Type -> Type #

mutVarPrimTyCon :: TyCon #

mkMutVarPrimTy :: Type -> Type -> Type #

mVarPrimTyCon :: TyCon #

mkMVarPrimTy :: Type -> Type -> Type #

tVarPrimTyCon :: TyCon #

mkTVarPrimTy :: Type -> Type -> Type #

stablePtrPrimTyCon :: TyCon #

mkStablePtrPrimTy :: Type -> Type #

stableNamePrimTyCon :: TyCon #

mkStableNamePrimTy :: Type -> Type #

compactPrimTyCon :: TyCon #

compactPrimTy :: Type #

bcoPrimTyCon :: TyCon #

bcoPrimTy :: Type #

weakPrimTyCon :: TyCon #

mkWeakPrimTy :: Type -> Type #

threadIdPrimTyCon :: TyCon #

threadIdPrimTy :: Type #

int32PrimTyCon :: TyCon #

int32PrimTy :: Type #

word32PrimTyCon :: TyCon #

word32PrimTy :: Type #

int64PrimTyCon :: TyCon #

int64PrimTy :: Type #

word64PrimTyCon :: TyCon #

word64PrimTy :: Type #

eqPrimTyCon :: TyCon #

eqReprPrimTyCon :: TyCon #

eqPhantPrimTyCon :: TyCon #

# SIMD

int8X16PrimTy :: Type #

int8X16PrimTyCon :: TyCon #

int16X8PrimTy :: Type #

int16X8PrimTyCon :: TyCon #

int32X4PrimTy :: Type #

int32X4PrimTyCon :: TyCon #

int64X2PrimTy :: Type #

int64X2PrimTyCon :: TyCon #

int8X32PrimTy :: Type #

int8X32PrimTyCon :: TyCon #

int16X16PrimTy :: Type #

int16X16PrimTyCon :: TyCon #

int32X8PrimTy :: Type #

int32X8PrimTyCon :: TyCon #

int64X4PrimTy :: Type #

int64X4PrimTyCon :: TyCon #

int8X64PrimTy :: Type #

int8X64PrimTyCon :: TyCon #

int16X32PrimTy :: Type #

int16X32PrimTyCon :: TyCon #

int32X16PrimTy :: Type #

int32X16PrimTyCon :: TyCon #

int64X8PrimTy :: Type #

int64X8PrimTyCon :: TyCon #

word8X16PrimTy :: Type #

word8X16PrimTyCon :: TyCon #

word16X8PrimTy :: Type #

word16X8PrimTyCon :: TyCon #

word32X4PrimTy :: Type #

word32X4PrimTyCon :: TyCon #

word64X2PrimTy :: Type #

word64X2PrimTyCon :: TyCon #

word8X32PrimTy :: Type #

word8X32PrimTyCon :: TyCon #

word16X16PrimTy :: Type #

word16X16PrimTyCon :: TyCon #

word32X8PrimTy :: Type #

word32X8PrimTyCon :: TyCon #

word64X4PrimTy :: Type #

word64X4PrimTyCon :: TyCon #

word8X64PrimTy :: Type #

word8X64PrimTyCon :: TyCon #

word16X32PrimTy :: Type #

word16X32PrimTyCon :: TyCon #

word32X16PrimTy :: Type #

word32X16PrimTyCon :: TyCon #

word64X8PrimTy :: Type #

word64X8PrimTyCon :: TyCon #

floatX4PrimTy :: Type #

floatX4PrimTyCon :: TyCon #

doubleX2PrimTy :: Type #

doubleX2PrimTyCon :: TyCon #

floatX8PrimTy :: Type #

floatX8PrimTyCon :: TyCon #

doubleX4PrimTy :: Type #

doubleX4PrimTyCon :: TyCon #

floatX16PrimTy :: Type #

floatX16PrimTyCon :: TyCon #

doubleX8PrimTy :: Type #

doubleX8PrimTyCon :: TyCon #