ghc-7.0.4: The GHC API

FamInstEnv

# Documentation

data FamInst Source

Constructors

FamInst |

Fields

fi_fam :: Name
fi_tcs :: [Maybe Name]
fi_tvs :: TyVarSet
fi_tys :: [Type]
fi_tycon :: TyCon

Instances

Outputable FamInst |
NamedThing FamInst |

famInstTyCon :: FamInst -> TyCon Source

famInstTyVars :: FamInst -> TyVarSet Source

pprFamInst :: FamInst -> SDoc Source

pprFamInstHdr :: FamInst -> SDoc Source

pprFamInsts :: [FamInst] -> SDoc Source

famInstHead :: FamInst -> ([TyVar], TyCon, [Type])Source

mkLocalFamInst :: TyCon -> FamInst Source

mkImportedFamInst :: Name -> [Maybe Name] -> TyCon -> FamInst Source

type FamInstEnvs = (FamInstEnv, FamInstEnv)Source

type FamInstEnv = UniqFM FamilyInstEnvSource

emptyFamInstEnv :: FamInstEnv Source

emptyFamInstEnvs :: (FamInstEnv, FamInstEnv)Source

extendFamInstEnv :: FamInstEnv -> FamInst -> FamInstEnv Source

extendFamInstEnvList :: FamInstEnv -> [FamInst] -> FamInstEnv Source

famInstEnvElts :: FamInstEnv -> [FamInst]Source

familyInstances :: (FamInstEnv, FamInstEnv) -> TyCon -> [FamInst]Source

lookupFamInstEnv :: FamInstEnvs -> TyCon -> [Type] -> [FamInstMatch]Source

lookupFamInstEnvConflicts :: FamInstEnvs -> FamInst -> [TyVar] -> [FamInstMatch]Source

topNormaliseType :: FamInstEnvs -> Type -> Maybe (Coercion, Type)Source