Safe Haskell | None |
---|
TcHsType
Documentation
tcHsSigType :: UserTypeCtxt -> LHsType Name -> TcM Type
tcHsSigTypeNC :: UserTypeCtxt -> LHsType Name -> TcM Type
tcHsInstHead :: UserTypeCtxt -> LHsType Name -> TcM ([TyVar], ThetaType, Class, [Type])
tcHsQuantifiedType :: [LHsTyVarBndr Name] -> LHsType Name -> TcM ([TyVar], Type)
data UserTypeCtxt
kcHsTyVars :: [LHsTyVarBndr Name] -> ([LHsTyVarBndr Name] -> TcM r) -> TcM r
kcHsContext :: LHsContext Name -> TcM (LHsContext Name)
kindGeneralizeKind :: TcKind -> TcM ([KindVar], Kind)
kindGeneralizeKinds :: [TcKind] -> TcM ([KindVar], [Kind])
scDsLHsKind :: LHsKind Name -> TcM Kind
tcHsKindedType :: LHsType Name -> TcM Type
tcHsBangType :: LHsType Name -> TcM Type
tcTyVarBndrs :: [LHsTyVarBndr Name] -> ([TyVar] -> TcM r) -> TcM r
tcTyVarBndrsKindGen :: [LHsTyVarBndr Name] -> ([TyVar] -> TcM r) -> TcM r
tcDataKindSig :: Kind -> TcM [TyVar]
tcTyClTyVars :: Name -> [LHsTyVarBndr Name] -> ([TyVar] -> Kind -> TcM a) -> TcM a
expArgKind :: SDoc -> TcKind -> Int -> ExpKind
checkExpectedKind :: Outputable a => a -> TcKind -> ExpKind -> TcM ()
tcHsPatSigType :: UserTypeCtxt -> LHsType Name -> TcM ([TyVar], Type)
tcPatSig :: UserTypeCtxt -> LHsType Name -> TcSigmaType -> TcM (TcType, [(Name, TcType)], HsWrapper)