ghc-7.8.2: The GHC API

Safe Haskell | None
Language | Haskell98

TcValidity

# Documentation

data Rank

data UserTypeCtxt

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 ()

checkValidMonoType :: Type -> TcM ()

expectedKindInCtxt :: UserTypeCtxt -> Maybe Kind

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

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

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

validDerivPred :: TyVarSet -> PredType -> Bool

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

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

checkTyFamFreeness :: Type -> TcM ()

checkConsistentFamInst

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

badATErr :: Name -> Name -> SDoc