ghc-8.0.2: The GHC API

Safe Haskell | None
Language | Haskell2010

TcSimplify

Synopsis

- simplifyInfer :: TcLevel -> Bool -> [TcIdSigInfo] -> [(Name, TcTauType)] -> WantedConstraints -> TcM ([TcTyVar], [EvVar], TcEvBinds)
- solveTopConstraints :: TcM a -> TcM (a, Bag EvBind)
- growThetaTyVars :: ThetaType -> TyCoVarSet -> TyVarSet
- simplifyAmbiguityCheck :: Type -> WantedConstraints -> TcM ()
- simplifyDefault :: ThetaType -> TcM ()
- simplifyTop :: WantedConstraints -> TcM (Bag EvBind)
- simplifyInteractive :: WantedConstraints -> TcM (Bag EvBind)
- solveEqualities :: TcM a -> TcM a
- simplifyWantedsTcM :: [CtEvidence] -> TcM WantedConstraints
- tcCheckSatisfiability :: Bag EvVar -> TcM Bool
- solveWanteds :: WantedConstraints -> TcS WantedConstraints
- runTcSDeriveds :: TcS a -> TcM a

# Documentation

simplifyInfer :: TcLevel -> Bool -> [TcIdSigInfo] -> [(Name, TcTauType)] -> WantedConstraints -> TcM ([TcTyVar], [EvVar], TcEvBinds) Source #

solveTopConstraints :: TcM a -> TcM (a, Bag EvBind) Source #

Type-check a thing, returning the result and any EvBinds produced during solving. Emits errors -- but does not fail -- if there is trouble.

growThetaTyVars :: ThetaType -> TyCoVarSet -> TyVarSet Source #

simplifyAmbiguityCheck :: Type -> WantedConstraints -> TcM () Source #

simplifyDefault :: ThetaType -> TcM () Source #

simplifyTop :: WantedConstraints -> TcM (Bag EvBind) Source #

simplifyInteractive :: WantedConstraints -> TcM (Bag EvBind) Source #

solveEqualities :: TcM a -> TcM a Source #

Type-check a thing that emits only equality constraints, then solve those constraints. Fails outright if there is trouble.

simplifyWantedsTcM :: [CtEvidence] -> TcM WantedConstraints Source #

tcCheckSatisfiability :: Bag EvVar -> TcM Bool Source #

solveWanteds :: WantedConstraints -> TcS WantedConstraints Source #

runTcSDeriveds :: TcS a -> TcM a Source #

This variant of `runTcS` will keep solving, even when only Deriveds are left around. It also doesn't return any evidence, as callers won't need it.