haskell-type-exts-0.1.0: A type checker for Haskell/haskell-src-exts

Safe HaskellSafe-Infered

Language.Haskell.TypeCheck.TypeCheck

Documentation

typecheckExp :: Exp -> Tc SigmaSource

type Q = TcCtxtSource

type VarEnv = [(QName, Sigma)]Source

checkRho :: Exp -> Rho -> Tc QSource

inferRho :: Exp -> Tc (Rho, Q)Source

tcRho :: Exp -> Expected Rho -> Tc QSource

checkAlt :: Alt -> Rho -> Tc QSource

inferAlt :: Alt -> Tc (Rho, Q)Source

tcAlt :: Alt -> Expected Rho -> Tc QSource

checkAltMatch :: [Pat] -> GuardedAlts -> Binds -> Rho -> Tc QSource

inferAltMatch :: [Pat] -> GuardedAlts -> Binds -> Tc (Rho, Q)Source

tcAltMatch :: [Pat] -> GuardedAlts -> Binds -> Expected Rho -> Tc QSource

tcGuardedAlts :: GuardedAlts -> Q -> Expected Rho -> Tc QSource

checkGuardedAlt :: GuardedAlt -> Q -> Rho -> Tc QSource

inferGuardedAlt :: GuardedAlt -> Q -> Tc (Rho, Q)Source

tcGuardedAlt :: GuardedAlt -> Q -> Expected Rho -> Tc QSource

checkStmts :: [Stmt] -> Expected Rho -> Tc QSource

litType :: Literal -> Tc SigmaSource

charType :: TcTypeSource

boolType :: TcTypeSource

numType :: Tc SigmaSource

fracType :: Tc SigmaSource

listCon :: TcTypeSource

listType :: Sigma -> SigmaSource

mkPredType :: QName -> Tc SigmaSource

inferSigma :: Exp -> Tc SigmaSource

checkSigma :: Exp -> Sigma -> Tc QSource

tcPats :: [Pat] -> [Expected Sigma] -> Tc (VarEnv, Q, Q)Source

inferPats :: [Pat] -> Tc ([Sigma], VarEnv, Q, Q)Source

checkPats :: [Pat] -> [Sigma] -> Tc (VarEnv, Q, Q)Source

inferPat :: Pat -> Tc (Sigma, VarEnv, Q, Q)Source

checkPat :: Pat -> Sigma -> Tc (VarEnv, Q, Q)Source

tcPat :: Pat -> Expected Sigma -> Tc (VarEnv, Q, Q)Source

unifyFunPats :: Rho -> [Pat] -> Tc (Tau, VarEnv, Q, Q)Source

tcPatBinds :: [Decl] -> Tc (VarEnv, Q, Q)Source

inferRhsWhere :: Rhs -> Binds -> Tc (Sigma, Q)Source

tcRhsWhere :: Rhs -> Binds -> Expected Sigma -> Tc QSource

tcRhs :: Rhs -> Q -> Expected Rho -> Tc QSource

checkMatch :: Match -> Rho -> Tc QSource

inferMatch :: Match -> Tc (Rho, Q)Source

tcMatch :: Match -> Expected Rho -> Tc QSource

subsCheckAll :: [Sigma] -> Tc QSource

subsCheck :: Sigma -> Sigma -> Tc QSource

subsCheckRho :: Sigma -> Rho -> Tc QSource

subsCheckFun :: Sigma -> Rho -> Sigma -> Rho -> Tc QSource

instSigma :: Sigma -> Expected Rho -> Tc QSource

instPatSigma :: Sigma -> Expected Sigma -> Tc ()Source