ghc-7.4.2: The GHC API

Safe Haskell | None

TysPrim

Contents

- Any

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
- tyVarList :: Kind -> [TyVar]
- alphaTyVars :: [TyVar]
- betaTyVars :: [TyVar]
- alphaTyVar :: TyVar
- betaTyVar :: TyVar
- gammaTyVar :: TyVar
- deltaTyVar :: TyVar
- alphaTy :: Type
- betaTy :: Type
- gammaTy :: Type
- deltaTy :: Type
- openAlphaTy :: Type
- openBetaTy :: Type
- openAlphaTyVar :: TyVar
- openBetaTyVar :: TyVar
- openAlphaTyVars :: [TyVar]
- argAlphaTy :: Type
- argAlphaTyVar :: TyVar
- argAlphaTyVars :: [TyVar]
- argBetaTy :: Type
- argBetaTyVar :: TyVar
- kKiVar :: KindVar
- tySuperKindTyCon :: TyCon
- tySuperKind :: SuperKind
- anyKindTyCon :: TyCon
- liftedTypeKindTyCon :: TyCon
- openTypeKindTyCon :: TyCon
- unliftedTypeKindTyCon :: TyCon
- argTypeKindTyCon :: TyCon
- ubxTupleKindTyCon :: TyCon
- constraintKindTyCon :: TyCon
- tySuperKindTyConName :: Name
- anyKindTyConName :: Name
- liftedTypeKindTyConName :: Name
- openTypeKindTyConName :: Name
- unliftedTypeKindTyConName :: Name
- ubxTupleKindTyConName :: Name
- argTypeKindTyConName :: Name
- constraintKindTyConName :: Name
- anyKind :: Kind
- liftedTypeKind :: Kind
- unliftedTypeKind :: Kind
- openTypeKind :: Kind
- argTypeKind :: Kind
- ubxTupleKind :: Kind
- constraintKind :: Kind
- mkArrowKind :: Kind -> Kind -> Kind
- mkArrowKinds :: [Kind] -> Kind -> Kind
- funTyCon :: TyCon
- funTyConName :: Name
- primTyCons :: [TyCon]
- charPrimTyCon :: TyCon
- charPrimTy :: Type
- intPrimTyCon :: TyCon
- intPrimTy :: Type
- wordPrimTyCon :: TyCon
- wordPrimTy :: Type
- addrPrimTyCon :: TyCon
- addrPrimTy :: Type
- floatPrimTyCon :: TyCon
- floatPrimTy :: Type
- doublePrimTyCon :: TyCon
- doublePrimTy :: Type
- statePrimTyCon :: TyCon
- mkStatePrimTy :: Type -> Type
- realWorldTyCon :: TyCon
- realWorldTy :: Type
- realWorldStatePrimTy :: Type
- arrayPrimTyCon :: TyCon
- mkArrayPrimTy :: Type -> Type
- byteArrayPrimTyCon :: TyCon
- byteArrayPrimTy :: Type
- arrayArrayPrimTyCon :: TyCon
- mkArrayArrayPrimTy :: Type
- mutableArrayPrimTyCon :: TyCon
- mkMutableArrayPrimTy :: Type -> Type -> Type
- mutableByteArrayPrimTyCon :: TyCon
- mkMutableByteArrayPrimTy :: Type -> Type
- mutableArrayArrayPrimTyCon :: TyCon
- mkMutableArrayArrayPrimTy :: 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
- 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
- anyTy :: Type
- anyTyCon :: TyCon
- anyTypeOfKind :: Kind -> Type

# Documentation

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

tyVarList :: Kind -> [TyVar]

alphaTyVars :: [TyVar]

betaTyVars :: [TyVar]

alphaTyVar :: TyVar

betaTyVar :: TyVar

gammaTyVar :: TyVar

deltaTyVar :: TyVar

alphaTy :: Type

betaTy :: Type

gammaTy :: Type

deltaTy :: Type

openAlphaTy :: Type

openBetaTy :: Type

openAlphaTyVar :: TyVar

openBetaTyVar :: TyVar

openAlphaTyVars :: [TyVar]

argAlphaTy :: Type

argAlphaTyVar :: TyVar

argAlphaTyVars :: [TyVar]

argBetaTy :: Type

argBetaTyVar :: TyVar

kKiVar :: KindVar

tySuperKindTyCon :: TyCon

See Type for details of the distinction between the `Kind` `TyCon`s

tySuperKind :: SuperKind

anyKindTyCon :: TyCon

See Type for details of the distinction between the `Kind` `TyCon`s

liftedTypeKindTyCon :: TyCon

See Type for details of the distinction between the `Kind` `TyCon`s

openTypeKindTyCon :: TyCon

See Type for details of the distinction between the `Kind` `TyCon`s

unliftedTypeKindTyCon :: TyCon

See Type for details of the distinction between the `Kind` `TyCon`s

argTypeKindTyCon :: TyCon

See Type for details of the distinction between the `Kind` `TyCon`s

ubxTupleKindTyCon :: TyCon

See Type for details of the distinction between the `Kind` `TyCon`s

constraintKindTyCon :: TyCon

See Type for details of the distinction between the `Kind` `TyCon`s

tySuperKindTyConName :: Name

anyKindTyConName :: Name

liftedTypeKindTyConName :: Name

openTypeKindTyConName :: Name

unliftedTypeKindTyConName :: Name

ubxTupleKindTyConName :: Name

argTypeKindTyConName :: Name

constraintKindTyConName :: Name

anyKind :: Kind

See Type for details of the distinction between these `Kind`s

liftedTypeKind :: Kind

See Type for details of the distinction between these `Kind`s

unliftedTypeKind :: Kind

See Type for details of the distinction between these `Kind`s

openTypeKind :: Kind

See Type for details of the distinction between these `Kind`s

argTypeKind :: Kind

See Type for details of the distinction between these `Kind`s

ubxTupleKind :: Kind

See Type for details of the distinction between these `Kind`s

constraintKind :: Kind

See Type for details of the distinction between these `Kind`s

mkArrowKind :: Kind -> Kind -> Kind

Given two kinds `k1` and `k2`, creates the `Kind` `k1 -> k2`

mkArrowKinds :: [Kind] -> Kind -> Kind

Iterated application of `mkArrowKind`

funTyCon :: TyCon

funTyConName :: Name

primTyCons :: [TyCon]

charPrimTyCon :: TyCon

charPrimTy :: Type

intPrimTyCon :: TyCon

intPrimTy :: Type

wordPrimTyCon :: TyCon

wordPrimTy :: Type

addrPrimTyCon :: TyCon

addrPrimTy :: Type

floatPrimTyCon :: TyCon

floatPrimTy :: Type

doublePrimTyCon :: TyCon

doublePrimTy :: Type

statePrimTyCon :: TyCon

mkStatePrimTy :: Type -> Type

realWorldTyCon :: TyCon

realWorldTy :: Type

realWorldStatePrimTy :: Type

arrayPrimTyCon :: TyCon

mkArrayPrimTy :: Type -> Type

byteArrayPrimTyCon :: TyCon

byteArrayPrimTy :: Type

arrayArrayPrimTyCon :: TyCon

mkArrayArrayPrimTy :: Type

mutableArrayPrimTyCon :: TyCon

mkMutableArrayPrimTy :: Type -> Type -> Type

mutableByteArrayPrimTyCon :: TyCon

mkMutableByteArrayPrimTy :: Type -> Type

mutableArrayArrayPrimTyCon :: TyCon

mkMutableArrayArrayPrimTy :: 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

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

# Any

anyTy :: Type

anyTyCon :: TyCon

anyTypeOfKind :: Kind -> Type