Safe Haskell | None |
---|
Documentation
workListFromEq :: Ct -> WorkListSource
workListFromCt :: Ct -> WorkListSource
extendWorkListEq :: Ct -> WorkList -> WorkListSource
extendWorkListFunEq :: Ct -> WorkList -> WorkListSource
extendWorkListNonEq :: Ct -> WorkList -> WorkListSource
extendWorkListCt :: Ct -> WorkList -> WorkListSource
extendWorkListCts :: [Ct] -> WorkList -> WorkListSource
extendWorkListEqs :: [Ct] -> WorkList -> WorkListSource
appendWorkList :: WorkList -> WorkList -> WorkListSource
withWorkList :: Cts -> TcS () -> TcS (Bag Implication)Source
workListSize :: WorkList -> IntSource
updWorkListTcS :: (WorkList -> WorkList) -> TcS ()Source
updWorkListTcS_return :: (WorkList -> (a, WorkList)) -> TcS aSource
updTcSImplics :: (Bag Implication -> Bag Implication) -> TcS ()Source
tyVarsOfCt :: Ct -> TcTyVarSetSource
tyVarsOfCts :: Cts -> TcTyVarSetSource
emitInsoluble :: Ct -> TcS ()Source
isWanted :: CtEvidence -> BoolSource
isDerived :: CtEvidence -> BoolSource
isWantedCt :: Ct -> BoolSource
isDerivedCt :: Ct -> BoolSource
canRewrite :: CtFlavour -> CtFlavour -> BoolSource
mkGivenLoc :: SkolemInfo -> TcLclEnv -> CtLocSource
runTcSWithEvBinds :: EvBindsVar -> TcS a -> TcM aSource
traceFireTcS :: Ct -> SDoc -> TcS ()Source
bumpStepCountTcS :: TcS ()Source
nestImplicTcS :: EvBindsVar -> Untouchables -> InertSet -> TcS a -> TcS aSource
recoverTcS :: TcS a -> TcS a -> TcS aSource
wrapErrTcS :: TcM a -> TcS aSource
wrapWarnTcS :: TcM a -> TcS aSource
addSolvedDict :: CtEvidence -> TcS ()Source
addSolvedFunEq :: TcType -> CtEvidence -> TcType -> TcS ()Source
freshGoals :: [MaybeNew] -> [CtEvidence]Source
getEvTerms :: [MaybeNew] -> [EvTerm]Source
xCtFlavor :: CtEvidence -> [TcPredType] -> XEvTerm -> TcS [CtEvidence]Source
rewriteCtFlavor :: CtEvidence -> TcPredType -> TcCoercion -> TcS (Maybe CtEvidence)Source
newDerived :: TcPredType -> TcS (Maybe CtEvidence)Source
setWantedTyBind :: TcTyVar -> TcType -> TcS ()Source
getInstEnvs :: TcS (InstEnv, InstEnv)Source
lookupFlatEqn :: TcType -> TcS (Maybe (CtEvidence, TcType))Source
newFlattenSkolem :: CtFlavour -> TcType -> TcS (CtEvidence, TcType)Source
insertDeque :: a -> Deque a -> Deque aSource
emptyDeque :: Deque aSource
IC | |
|
getInertEqs :: TcS (TyVarEnv Ct)Source
lookupInInerts :: TcPredType -> TcS (Maybe CtEvidence)Source
getInertUnsolved :: TcS (Cts, Cts)Source
modifyInertTcS :: (InertSet -> (a, InertSet)) -> TcS aSource
insertInertItemTcS :: Ct -> TcS ()Source
partitionEqMap :: (Ct -> Bool) -> TyVarEnv (Ct, TcCoercion) -> ([Ct], TyVarEnv (Ct, TcCoercion))Source
extractRelevantInerts :: Ct -> TcS CtsSource
CCanMap | |
|
Outputable (CCanMap a) |
type CtFamHeadMap = FamHeadMap CtSource
Outputable a => Outputable (PredMap a) |
data FamHeadMap a Source
Outputable a => Outputable (FamHeadMap a) |
partCtFamHeadMap :: (Ct -> Bool) -> CtFamHeadMap -> (Cts, CtFamHeadMap)Source
lookupFamHead :: FamHeadMap a -> TcType -> Maybe aSource
filterSolved :: (CtEvidence -> Bool) -> PredMap CtEvidence -> PredMap CtEvidenceSource
instDFunType :: DFunId -> [DFunInstType] -> TcS ([TcType], TcType)Source
newFlexiTcSTy :: Kind -> TcS TcTypeSource
getDynFlags :: HasDynFlags m => m DynFlagsSource
matchOpenFam :: TyCon -> [Type] -> TcS (Maybe FamInstMatch)Source