InstEnv

ghc-7.0.4: The GHC API

InstEnv

# Documentation

type DFunId = Id

data OverlapFlag

Constructors

NoOverlap |
OverlapOk |
Incoherent |

Instances

Eq OverlapFlag |
Outputable OverlapFlag |
Binary OverlapFlag |

data Instance

Constructors

Instance |
Fields is_cls :: Name is_tcs :: [Maybe Name] is_tvs :: TyVarSet is_tys :: [Type] is_dfun :: DFunId is_flag :: OverlapFlag

Instances

Outputable Instance |
NamedThing Instance |

pprInstance :: Instance -> SDoc

pprInstanceHdr :: Instance -> SDoc

pprInstances :: [Instance] -> SDoc

instanceHead :: Instance -> ([TyVar], ThetaType, Class, [Type])

mkLocalInstance :: DFunId -> OverlapFlag -> Instance

mkImportedInstance :: Name -> [Maybe Name] -> DFunId -> OverlapFlag -> Instance

instanceDFunId :: Instance -> DFunId

setInstanceDFunId :: Instance -> DFunId -> Instance

instanceRoughTcs :: Instance -> [Maybe Name]

type InstEnv = UniqFM ClsInstEnv

emptyInstEnv :: InstEnv

extendInstEnv :: InstEnv -> Instance -> InstEnv

extendInstEnvList :: InstEnv -> [Instance] -> InstEnv

lookupInstEnv :: (InstEnv, InstEnv) -> Class -> [Type] -> ([InstMatch], [Instance])

instEnvElts :: InstEnv -> [Instance]

classInstances :: (InstEnv, InstEnv) -> Class -> [Instance]

instanceBindFun :: TyVar -> BindFlag

instanceCantMatch :: [Maybe Name] -> [Maybe Name] -> Bool

roughMatchTcs :: [Type] -> [Maybe Name]