Type

Main data types representing Types

data TyThing

data Type

data Pred a

type PredType

type ThetaType

data Var

type TyVar

isTyVar

Constructing and deconstructing types

mkTyVarTy

mkTyVarTys

getTyVar

getTyVar_maybe

mkAppTy

mkAppTys

splitAppTy

splitAppTys

splitAppTy_maybe

repSplitAppTy_maybe

mkFunTy

mkFunTys

splitFunTy

splitFunTy_maybe

splitFunTys

splitFunTysN

funResultTy

funArgTy

zipFunTys

mkTyConApp

mkTyConTy

tyConAppTyCon

tyConAppArgs

splitTyConApp_maybe

splitTyConApp

mkForAllTy

mkForAllTys

splitForAllTy_maybe

splitForAllTys

applyTy

applyTys

applyTysD

isForAllTy

dropForAlls

newTyConInstRhs

carefullySplitNewType_maybe

tyFamInsts

predFamInsts

mkPredTy

mkPredTys

mkFamilyTyConApp

mkDictTy

isDictLikeTy

isClassPred

isEqPred

allPred

mkEqPred

mkClassPred

getClassPredTys

getClassPredTys_maybe

isTyVarClassPred

mkIPPred

isIPPred

Common type constructors

funTyCon

Predicates on types

isTyVarTy

isFunTy

isPredTy

isDictTy

isEqPredTy

isReflPredTy

splitPredTy_maybe

splitEqPredTy_maybe

isUnLiftedType

isUnboxedTupleType

isAlgType

isClosedAlgType

isPrimitiveType

isStrictType

isStrictPred

Main data types representing Kinds

type Kind

type SimpleKind

type KindVar

Common Kinds and SuperKinds

liftedTypeKind

ubxTupleKind

argTypeKind

openTypeKind

unliftedTypeKind

tySuperKind

Common Kind type constructors

argTypeKindTyCon

ubxTupleKindTyCon

unliftedTypeKindTyCon

openTypeKindTyCon

liftedTypeKindTyCon

Type free variables

tyVarsOfType

tyVarsOfTypes

tyVarsOfPred

tyVarsOfTheta

exactTyVarsOfType

exactTyVarsOfTypes

expandTypeSynonyms

typeSize

Type comparison

eqType

eqTypeX

eqTypes

cmpType

cmpTypes

eqPred

eqPredX

cmpPred

eqKind

Forcing evaluation of types

seqType

seqTypes

seqPred

Other views onto Types

coreView

tcView

repType

Type representation for the code generator

data PrimRep

typePrimRep

predTypeRep

Main type substitution data types

type TvSubstEnv

data TvSubst

Manipulating type substitutions

emptyTvSubstEnv

emptyTvSubst

mkTvSubst

mkOpenTvSubst

zipOpenTvSubst

zipTopTvSubst

mkTopTvSubst

notElemTvSubst

getTvSubstEnv

setTvSubstEnv

zapTvSubstEnv

getTvInScope

extendTvInScope

extendTvInScopeList

extendTvSubst

extendTvSubstList

isInScope

composeTvSubst

zipTyEnv

isEmptyTvSubst

unionTvSubst

Performing substitution on types

substTy

substTys

substTyWith

substTysWith

substTheta

substPred

substTyVar

substTyVars

substTyVarBndr

cloneTyVarBndr

deShadowTy

lookupTyVar

Pretty-printing

pprType

pprParendType

pprTypeApp

pprTyThingCategory

pprTyThing

pprForAll

pprPred

pprPredTy

pprEqPred

pprTheta

pprThetaArrowTy

pprClassPred

pprKind

pprParendKind

pprSourceTyCon