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
keepWanted :: Cts -> CtsSource
tyVarsOfCt :: Ct -> TcTyVarSetSource
tyVarsOfCts :: Cts -> TcTyVarSetSource
emitFrozenError :: CtFlavor -> EvVar -> SubGoalDepth -> TcS ()Source
isGivenOrSolvedCt :: Ct -> BoolSource
isWantedCt :: Ct -> BoolSource
isDerivedCt :: Ct -> BoolSource
isFlexiTcsTv :: TyVar -> BoolSource
canRewrite :: CtFlavor -> CtFlavor -> BoolSource
combineCtLoc :: CtFlavor -> CtFlavor -> WantedLocSource
mkSolvedFlavor :: CtFlavor -> SkolemInfo -> EvTerm -> CtFlavorSource
mkGivenFlavor :: CtFlavor -> SkolemInfo -> CtFlavorSource
getWantedLoc :: Ct -> WantedLocSource
runTcS :: SimplContext -> Untouchables -> InertSet -> WorkList -> TcS a -> TcM (a, Bag EvBind)Source
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
data SimplContext Source
newEvVar :: CtFlavor -> TcPredType -> TcS EvVarCreatedSource
forceNewEvVar :: CtFlavor -> TcPredType -> TcS EvVarSource
delCachedEvVar :: EvVar -> CtFlavor -> TcS ()Source
updateFlatCache :: EvVar -> CtFlavor -> TyCon -> [Xi] -> TcType -> FlatEqOrigin -> TcS ()Source
flushFlatCache :: TcS ()Source
newGivenEqVar :: CtFlavor -> TcType -> TcType -> TcCoercion -> TcS (CtFlavor, EvVar)Source
newKindConstraint :: TcTyVar -> Kind -> CtFlavor -> TcS EvVarCreatedSource
data EvVarCreated Source
isNewEvVar :: EvVarCreated -> BoolSource
origin_matches :: FlatEqOrigin -> FlatEqOrigin -> BoolSource
setWantedTyBind :: TcTyVar -> TcType -> TcS ()Source
getInstEnvs :: TcS (InstEnv, InstEnv)Source
getTcSEvVarFlatCache :: TcS (TypeMap (TcCoercion, (Type, CtFlavor, FlatEqOrigin)))Source
pprEvVarCache :: TypeMap (TcCoercion, a) -> SDocSource
IS | |
|
getInertEqs :: TcS (TyVarEnv (Ct, TcCoercion), InScopeSet)Source
liftInertEqsTy :: (TyVarEnv (Ct, TcCoercion), InScopeSet) -> CtFlavor -> PredType -> TcCoercionSource
getCtCoercion :: Ct -> TcCoercionSource
updInertSet :: InertSet -> AtomicInert -> InertSetSource
extractUnsolvedTcS :: TcS (Cts, Cts)Source
modifyInertTcS :: (InertSet -> (a, InertSet)) -> TcS aSource
updInertSetTcS :: AtomicInert -> TcS ()Source
partitionEqMap :: (Ct -> Bool) -> TyVarEnv (Ct, TcCoercion) -> ([Ct], TyVarEnv (Ct, TcCoercion))Source
extractRelevantInerts :: Ct -> TcS CtsSource
CCanMap | |
|
pprCtTypeMap :: TypeMap Ct -> SDocSource
instDFunConstraints :: TcThetaType -> CtFlavor -> TcS [EvVarCreated]Source
newFlexiTcSTy :: Kind -> TcS TcTypeSource
instFlexiTcS :: TyVar -> TcS TcTyVarSource
compatKind :: Kind -> Kind -> BoolSource
type TcsUntouchables = (Untouchables, TcTyVarSet)Source
getDefaultInfo :: TcS (SimplContext, [Type], (Bool, Bool))Source
matchClass :: Class -> [Type] -> TcS (MatchInstResult (DFunId, [Either TyVar TcType]))Source