<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >TyCon</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ></HEAD ><BODY ><DIV CLASS="outer" ><DIV CLASS="mini-topbar" >TyCon</DIV ><DIV CLASS="mini-synopsis" ><H1 >Main TyCon data types </H1 > <DIV CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="TyCon.html#t%3ATyCon" TARGET="main" >TyCon</A > </DIV > <DIV CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="TyCon.html#t%3AFieldLabel" TARGET="main" >FieldLabel</A > </DIV > <DIV CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="TyCon.html#t%3AAlgTyConRhs" TARGET="main" >AlgTyConRhs</A > </DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AvisibleDataCons" TARGET="main" >visibleDataCons</A ></DIV > <DIV CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="TyCon.html#t%3ATyConParent" TARGET="main" >TyConParent</A > </DIV > <DIV CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="TyCon.html#t%3ASynTyConRhs" TARGET="main" >SynTyConRhs</A > </DIV > <DIV CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="TyCon.html#t%3AAssocFamilyPermutation" TARGET="main" >AssocFamilyPermutation</A > </DIV > <H2 >Constructing TyCons </H2 > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AmkAlgTyCon" TARGET="main" >mkAlgTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AmkClassTyCon" TARGET="main" >mkClassTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AmkFunTyCon" TARGET="main" >mkFunTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AmkPrimTyCon" TARGET="main" >mkPrimTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AmkVoidPrimTyCon" TARGET="main" >mkVoidPrimTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AmkLiftedPrimTyCon" TARGET="main" >mkLiftedPrimTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AmkTupleTyCon" TARGET="main" >mkTupleTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AmkSynTyCon" TARGET="main" >mkSynTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AmkSuperKindTyCon" TARGET="main" >mkSuperKindTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AmkCoercionTyCon" TARGET="main" >mkCoercionTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AmkForeignTyCon" TARGET="main" >mkForeignTyCon</A ></DIV > <H2 >Predicates on TyCons </H2 > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisAlgTyCon" TARGET="main" >isAlgTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisClassTyCon" TARGET="main" >isClassTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisFamInstTyCon" TARGET="main" >isFamInstTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisFunTyCon" TARGET="main" >isFunTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisPrimTyCon" TARGET="main" >isPrimTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisTupleTyCon" TARGET="main" >isTupleTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisUnboxedTupleTyCon" TARGET="main" >isUnboxedTupleTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisBoxedTupleTyCon" TARGET="main" >isBoxedTupleTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisSynTyCon" TARGET="main" >isSynTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisClosedSynTyCon" TARGET="main" >isClosedSynTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisOpenSynTyCon" TARGET="main" >isOpenSynTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisSuperKindTyCon" TARGET="main" >isSuperKindTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisCoercionTyCon" TARGET="main" >isCoercionTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisCoercionTyCon_maybe" TARGET="main" >isCoercionTyCon_maybe</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisForeignTyCon" TARGET="main" >isForeignTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisInjectiveTyCon" TARGET="main" >isInjectiveTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisDataTyCon" TARGET="main" >isDataTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisProductTyCon" TARGET="main" >isProductTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisEnumerationTyCon" TARGET="main" >isEnumerationTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisNewTyCon" TARGET="main" >isNewTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisAbstractTyCon" TARGET="main" >isAbstractTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisOpenTyCon" TARGET="main" >isOpenTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisUnLiftedTyCon" TARGET="main" >isUnLiftedTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisGadtSyntaxTyCon" TARGET="main" >isGadtSyntaxTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisTyConAssoc" TARGET="main" >isTyConAssoc</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisRecursiveTyCon" TARGET="main" >isRecursiveTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisHiBootTyCon" TARGET="main" >isHiBootTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AisImplicitTyCon" TARGET="main" >isImplicitTyCon</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConHasGenerics" TARGET="main" >tyConHasGenerics</A ></DIV > <H2 >Extracting information out of TyCons </H2 > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConName" TARGET="main" >tyConName</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConKind" TARGET="main" >tyConKind</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConUnique" TARGET="main" >tyConUnique</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConTyVars" TARGET="main" >tyConTyVars</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConDataCons" TARGET="main" >tyConDataCons</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConDataCons_maybe" TARGET="main" >tyConDataCons_maybe</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConSingleDataCon_maybe" TARGET="main" >tyConSingleDataCon_maybe</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConFamilySize" TARGET="main" >tyConFamilySize</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConStupidTheta" TARGET="main" >tyConStupidTheta</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConArity" TARGET="main" >tyConArity</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConClass_maybe" TARGET="main" >tyConClass_maybe</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConFamInst_maybe" TARGET="main" >tyConFamInst_maybe</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConFamilyCoercion_maybe" TARGET="main" >tyConFamilyCoercion_maybe</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AsynTyConDefn" TARGET="main" >synTyConDefn</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AsynTyConRhs" TARGET="main" >synTyConRhs</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AsynTyConType" TARGET="main" >synTyConType</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AsynTyConResKind" TARGET="main" >synTyConResKind</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConExtName" TARGET="main" >tyConExtName</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AalgTyConRhs" TARGET="main" >algTyConRhs</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AnewTyConRhs" TARGET="main" >newTyConRhs</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AnewTyConEtadRhs" TARGET="main" >newTyConEtadRhs</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AunwrapNewTyCon_maybe" TARGET="main" >unwrapNewTyCon_maybe</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AassocTyConArgPoss_maybe" TARGET="main" >assocTyConArgPoss_maybe</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtupleTyConBoxity" TARGET="main" >tupleTyConBoxity</A ></DIV > <H2 >Manipulating TyCons </H2 > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtcExpandTyCon_maybe" TARGET="main" >tcExpandTyCon_maybe</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AcoreExpandTyCon_maybe" TARGET="main" >coreExpandTyCon_maybe</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AmakeTyConAbstract" TARGET="main" >makeTyConAbstract</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AnewTyConCo_maybe" TARGET="main" >newTyConCo_maybe</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AsetTyConArgPoss" TARGET="main" >setTyConArgPoss</A ></DIV > <H1 >Primitive representations of Types </H1 > <DIV CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="TyCon.html#t%3APrimRep" TARGET="main" >PrimRep</A > </DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AtyConPrimRep" TARGET="main" >tyConPrimRep</A ></DIV > <DIV CLASS="decl" ><A HREF="TyCon.html#v%3AprimRepSizeW" TARGET="main" >primRepSizeW</A ></DIV ></DIV ></DIV ></BODY ></HTML >