Type

Main data types representing Types

data TyThing

data Type

data VisibilityFlag

type KindOrType

type PredType

type ThetaType

data Var

type TyVar

isTyVar

type TyCoVar

data TyBinder

Constructing and deconstructing types

mkTyVarTy

mkTyVarTys

getTyVar

getTyVar_maybe

repGetTyVar_maybe

getCastedTyVar_maybe

tyVarKind

mkAppTy

mkAppTys

splitAppTy

splitAppTys

repSplitAppTys

splitAppTy_maybe

repSplitAppTy_maybe

tcRepSplitAppTy_maybe

mkFunTy

mkFunTys

splitFunTy

splitFunTy_maybe

splitFunTys

splitFunTysN

funResultTy

funArgTy

mkTyConApp

mkTyConTy

tyConAppTyCon_maybe

tyConAppTyConPicky_maybe

tyConAppArgs_maybe

tyConAppTyCon

tyConAppArgs

splitTyConApp_maybe

splitTyConApp

tyConAppArgN

nextRole

splitListTyConApp_maybe

repSplitTyConApp_maybe

mkForAllTy

mkForAllTys

mkInvForAllTys

mkSpecForAllTys

mkVisForAllTys

mkNamedForAllTy

splitForAllTy_maybe

splitForAllTys

splitForAllTy

splitPiTy_maybe

splitPiTys

splitPiTy

splitNamedPiTys

mkPiType

mkPiTypes

mkTyBindersPreferAnon

piResultTy

piResultTys

applyTysX

dropForAlls

mkNumLitTy

isNumLitTy

mkStrLitTy

isStrLitTy

mkCastTy

mkCoercionTy

splitCastTy_maybe

userTypeError_maybe

pprUserTypeErrorTy

coAxNthLHS

stripCoercionTy

splitCoercionType_maybe

splitPiTysInvisible

filterOutInvisibleTypes

filterOutInvisibleTyVars

partitionInvisibles

synTyConResKind

data TyCoMapper env m

mapType

mapCoercion

newTyConInstRhs

mkFamilyTyConApp

isDictLikeTy

mkPrimEqPred

mkReprPrimEqPred

mkPrimEqPredRole

equalityTyCon

mkHeteroPrimEqPred

mkHeteroReprPrimEqPred

mkClassPred

isClassPred

isEqPred

isNomEqPred

isIPPred

isIPPred_maybe

isIPTyCon

isIPClass

isCTupleClass

data PredTree

data EqRel

eqRelRole

classifyPredType

getClassPredTys

getClassPredTys_maybe

getEqPredTys

getEqPredTys_maybe

getEqPredRole

predTypeEqRel

Binders

sameVis

mkNamedBinder

mkNamedBinders

mkAnonBinder

isNamedBinder

isAnonBinder

isIdLikeBinder

binderVisibility

binderVar_maybe

binderVar

binderRelevantType_maybe

caseBinder

partitionBinders

partitionBindersIntoBinders

binderType

isVisibleBinder

isInvisibleBinder

Common type constructors

funTyCon

Predicates on types

allDistinctTyVars

isTyVarTy

isFunTy

isDictTy

isPredTy

isVoidTy

isCoercionTy

isCoercionTy_maybe

isCoercionType

isForAllTy

isPiTy

isUnliftedType

isUnboxedTupleType

isAlgType

isClosedAlgType

isPrimitiveType

isStrictType

isRuntimeRepTy

isRuntimeRepVar

isRuntimeRepKindedTy

dropRuntimeRepArgs

getRuntimeRep

getRuntimeRepFromKind

Main data types representing Kinds

type Kind

Finding the kind of a type

typeKind

Common Kind

liftedTypeKind

Type free variables

tyCoVarsOfType

tyCoVarsOfTypes

tyCoFVsOfType

tyCoVarsOfTypeDSet

coVarsOfType

coVarsOfTypes

closeOverKinds

closeOverKindsList

splitVisVarsOfType

splitVisVarsOfTypes

expandTypeSynonyms

typeSize

Well-scoped lists of variables

dVarSetElemsWellScoped

toposortTyVars

tyCoVarsOfTypeWellScoped

tyCoVarsOfTypesWellScoped

Type comparison

eqType

eqTypeX

eqTypes

cmpType

cmpTypes

cmpTypeX

cmpTypesX

cmpTc

eqVarBndrs

Forcing evaluation of types

seqType

seqTypes

Other views onto Types

coreView

coreViewOneStarKind

type UnaryType

data RepType

flattenRepType

repType

tyConsOfType

Type representation for the code generator

typePrimRep

typeRepArity

tyConPrimRep

Main type substitution data types

type TvSubstEnv

data TCvSubst

Manipulating type substitutions

emptyTvSubstEnv

emptyTCvSubst

mkEmptyTCvSubst

mkTCvSubst

zipTvSubst

mkTvSubstPrs

notElemTCvSubst

getTvSubstEnv

setTvSubstEnv

zapTCvSubst

getTCvInScope

getTCvSubstRangeFVs

extendTCvInScope

extendTCvInScopeList

extendTCvInScopeSet

extendTCvSubst

extendCvSubst

extendTvSubst

extendTvSubstList

extendTvSubstAndInScope

isInScope

composeTCvSubstEnv

composeTCvSubst

zipTyEnv

zipCoEnv

isEmptyTCvSubst

unionTCvSubst

Performing substitution on types and kinds

substTy

substTys

substTyWith

substTysWith

substTheta

substTyAddInScope

substTyUnchecked

substTysUnchecked

substThetaUnchecked

substTyWithBindersUnchecked

substTyWithUnchecked

substCoUnchecked

substCoWithUnchecked

substTyVarBndr

substTyVar

substTyVars

cloneTyVarBndr

cloneTyVarBndrs

lookupTyVar

Pretty-printing

pprType

pprParendType

pprTypeApp

pprTyThingCategory

pprTyThing

pprTvBndr

pprTvBndrs

pprForAll

pprForAllImplicit

pprUserForAll

pprSigmaType

pprTheta

pprThetaArrowTy

pprClassPred

pprKind

pprParendKind

pprSourceTyCon

data TyPrec

maybeParen

pprTyVar

pprTcAppTy

pprPrefixApp

pprArrowChain

Tidying type related things up for printing

tidyType

tidyTypes

tidyOpenType

tidyOpenTypes

tidyOpenKind

tidyTyCoVarBndr

tidyTyCoVarBndrs

tidyFreeTyCoVars

tidyOpenTyCoVar

tidyOpenTyCoVars

tidyTyVarOcc

tidyTopType

tidyKind

tidyTyBinder

tidyTyBinders