TcValidity

ghc-7.8.3: The GHC API

Safe Haskell | None
Language | Haskell98

TcValidity

# Documentation

data Rank Source

data UserTypeCtxt Source

Constructors

FunSigCtxt Name |
InfSigCtxt Name |
ExprSigCtxt |
ConArgCtxt Name |
TySynCtxt Name |
LamPatSigCtxt |
BindPatSigCtxt |
RuleSigCtxt Name |
ResSigCtxt |
ForSigCtxt Name |
DefaultDeclCtxt |
InstDeclCtxt |
SpecInstCtxt |
ThBrackCtxt |
GenSigCtxt |
GhciCtxt |
ClassSCCtxt Name |
SigmaCtxt |
DataTyCtxt Name |

checkValidType :: UserTypeCtxt -> Type -> TcM () Source

checkValidMonoType :: Type -> TcM () Source

expectedKindInCtxt :: UserTypeCtxt -> Maybe Kind Source

checkValidTheta :: UserTypeCtxt -> ThetaType -> TcM () Source

checkValidFamPats :: TyCon -> [TyVar] -> [Type] -> TcM () Source

checkValidInstance :: UserTypeCtxt -> LHsType Name -> Type -> TcM ([TyVar], ThetaType, Class, [Type]) Source

validDerivPred :: TyVarSet -> PredType -> Bool Source

checkInstTermination :: [TcType] -> ThetaType -> TcM () Source

checkValidTyFamInst :: Maybe (Class, VarEnv Type) -> TyCon -> CoAxBranch -> TcM () Source

checkTyFamFreeness :: Type -> TcM () Source

checkConsistentFamInst Source

Arguments

:: Maybe (Class, VarEnv Type) | Class of associated type and instantiation of class TyVars
-> TyCon | Family tycon
-> [TyVar] | Type variables of the family instance
-> [Type] | Type patterns from instance
-> TcM () |

arityErr :: Outputable a => String -> a -> Int -> Int -> SDoc Source

badATErr :: Name -> Name -> SDoc Source