X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Ftypes%2FTyCon.lhs;h=b3596609e77029695187852b64e7b53ccbb1add9;hb=27ca67931713c36f5ed248de88298416892e5649;hp=723a7904f88d63cbf8cc1ce1bf7e6d4e799aa3ba;hpb=d76c18e05f6366c23144624b696a02fbaa6d26e8;p=ghc-hetmet.git diff --git a/compiler/types/TyCon.lhs b/compiler/types/TyCon.lhs index 723a790..b359660 100644 --- a/compiler/types/TyCon.lhs +++ b/compiler/types/TyCon.lhs @@ -50,7 +50,6 @@ module TyCon( tyConArity, isClassTyCon, tyConClass_maybe, isFamInstTyCon, tyConFamInst_maybe, tyConFamilyCoercion_maybe, - tyConFamInstIndex, synTyConDefn, synTyConRhs, synTyConType, synTyConResKind, tyConExtName, -- External name for foreign types @@ -102,6 +101,8 @@ data TyCon tyConTyVars :: [TyVar], -- Scopes over (a) the algTcStupidTheta -- (b) the cached types in -- algTyConRhs.NewTyCon + -- (c) the family instance + -- types if present -- But not over the data constructors tyConArgPoss :: Maybe [Int], -- for associated families: for each @@ -275,9 +276,6 @@ data AlgTyConParent = -- An ordinary type constructor has no parent. TyCon -- a *coercion* identifying -- the representation type -- with the type instance - Int -- index to generate unique - -- name (needed here to put - -- into iface) data SynTyConRhs = OpenSynTyCon Kind -- Type family: *result* kind given @@ -817,25 +815,20 @@ tyConClass_maybe (AlgTyCon {algTcParent = ClassTyCon clas}) = Just clas tyConClass_maybe ther_tycon = Nothing isFamInstTyCon :: TyCon -> Bool -isFamInstTyCon (AlgTyCon {algTcParent = FamilyTyCon _ _ _ _}) = True -isFamInstTyCon other_tycon = False +isFamInstTyCon (AlgTyCon {algTcParent = FamilyTyCon _ _ _ }) = True +isFamInstTyCon other_tycon = False tyConFamInst_maybe :: TyCon -> Maybe (TyCon, [Type]) -tyConFamInst_maybe (AlgTyCon {algTcParent = FamilyTyCon fam instTys _ _}) = +tyConFamInst_maybe (AlgTyCon {algTcParent = FamilyTyCon fam instTys _}) = Just (fam, instTys) -tyConFamInst_maybe ther_tycon = +tyConFamInst_maybe ther_tycon = Nothing tyConFamilyCoercion_maybe :: TyCon -> Maybe TyCon -tyConFamilyCoercion_maybe (AlgTyCon {algTcParent = FamilyTyCon _ _ coe _}) = +tyConFamilyCoercion_maybe (AlgTyCon {algTcParent = FamilyTyCon _ _ coe}) = Just coe -tyConFamilyCoercion_maybe ther_tycon = +tyConFamilyCoercion_maybe ther_tycon = Nothing - -tyConFamInstIndex :: TyCon -> Int -tyConFamInstIndex (AlgTyCon {algTcParent = FamilyTyCon _ _ _ index}) = index -tyConFamInstIndex _ = - panic "tyConFamInstIndex" \end{code}