Safe Haskell | None |
---|
Documentation
workListFromEq :: Ct -> WorkListSource
workListFromCt :: Ct -> WorkListSource
extendWorkListEq :: Ct -> WorkList -> WorkListSource
extendWorkListNonEq :: Ct -> WorkList -> WorkListSource
extendWorkListCt :: Ct -> WorkList -> WorkListSource
appendWorkListCt :: [Ct] -> WorkList -> WorkListSource
appendWorkListEqs :: [Ct] -> WorkList -> WorkListSource
unionWorkList :: WorkList -> WorkList -> WorkListSource
updWorkListTcS :: (WorkList -> WorkList) -> TcS ()Source
updWorkListTcS_return :: (WorkList -> (a, WorkList)) -> TcS aSource
updTcSImplics :: (Bag Implication -> Bag Implication) -> TcS ()Source
emitTcSImplication :: Implication -> TcS ()Source
CDictCan | |
| |
CIrredEvCan | |
| |
CTyEqCan | |
| |
CFunEqCan | |
| |
CNonCanonical | |
|
tyVarsOfCt :: Ct -> TcTyVarSetSource
tyVarsOfCts :: Cts -> TcTyVarSetSource
emitFrozenError :: CtEvidence -> SubGoalDepth -> TcS ()Source
isWanted :: CtEvidence -> BoolSource
isDerived :: CtEvidence -> BoolSource
isWantedCt :: Ct -> BoolSource
isDerivedCt :: Ct -> BoolSource
isFlexiTcsTv :: TyVar -> BoolSource
canRewrite :: CtEvidence -> CtEvidence -> BoolSource
canSolve :: CtEvidence -> CtEvidence -> BoolSource
mkGivenLoc :: WantedLoc -> SkolemInfo -> GivenLocSource
ctWantedLoc :: Ct -> WantedLocSource
runTcSWithEvBinds :: EvBindsVar -> TcS a -> TcM aSource
traceFireTcS :: SubGoalDepth -> SDoc -> TcS ()Source
bumpStepCountTcS :: TcS ()Source
doWithInert :: InertSet -> TcS a -> TcS aSource
nestImplicTcS :: EvBindsVar -> TcsUntouchables -> TcS a -> TcS aSource
recoverTcS :: TcS a -> TcS a -> TcS aSource
wrapErrTcS :: TcM a -> TcS aSource
wrapWarnTcS :: TcM a -> TcS aSource
updFlatCache :: Ct -> TcS ()Source
addSolvedDict :: CtEvidence -> TcS ()Source
addSolvedFunEq :: CtEvidence -> 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
newWantedEvVar :: WantedLoc -> TcPredType -> TcS MaybeNewSource
instDFunConstraints :: WantedLoc -> TcThetaType -> TcS [MaybeNew]Source
newDerived :: WantedLoc -> TcPredType -> TcS (Maybe CtEvidence)Source
setWantedTyBind :: TcTyVar -> TcType -> TcS ()Source
getInstEnvs :: TcS (InstEnv, InstEnv)Source
IC | |
|
getInertEqs :: TcS (TyVarEnv Ct, InScopeSet)Source
getCtCoercion :: EvBindMap -> Ct -> TcCoercionSource
getInertInsols :: InertSet -> CtsSource
splitInertsForImplications :: InertSet -> ([Ct], InertSet)Source
modifyInertTcS :: (InertSet -> (a, InertSet)) -> TcS aSource
updInertSetTcS :: Ct -> TcS ()Source
partitionEqMap :: (Ct -> Bool) -> TyVarEnv (Ct, TcCoercion) -> ([Ct], TyVarEnv (Ct, TcCoercion))Source
extractRelevantInerts :: Ct -> TcS CtsSource
CCanMap | |
|
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
compatKind :: Kind -> Kind -> BoolSource
type TcsUntouchables = (Untouchables, TcTyVarSet)Source
getDynFlags :: HasDynFlags m => m DynFlagsSource
matchClass :: Class -> [Type] -> TcS (MatchInstResult (DFunId, [Maybe TcType]))Source