diff options
Diffstat (limited to 'compiler/GHC/Tc/Gen/Expr.hs-boot')
-rw-r--r-- | compiler/GHC/Tc/Gen/Expr.hs-boot | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/compiler/GHC/Tc/Gen/Expr.hs-boot b/compiler/GHC/Tc/Gen/Expr.hs-boot new file mode 100644 index 0000000000..27ebefc9a3 --- /dev/null +++ b/compiler/GHC/Tc/Gen/Expr.hs-boot @@ -0,0 +1,42 @@ +module GHC.Tc.Gen.Expr where +import GHC.Types.Name +import GHC.Hs ( HsExpr, LHsExpr, SyntaxExprRn, SyntaxExprTc ) +import GHC.Tc.Utils.TcType ( TcRhoType, TcSigmaType, SyntaxOpType, ExpType, ExpRhoType ) +import GHC.Tc.Types ( TcM ) +import GHC.Tc.Types.Origin ( CtOrigin ) +import GHC.Hs.Extension ( GhcRn, GhcTcId ) + +tcPolyExpr :: + LHsExpr GhcRn + -> TcSigmaType + -> TcM (LHsExpr GhcTcId) + +tcMonoExpr, tcMonoExprNC :: + LHsExpr GhcRn + -> ExpRhoType + -> TcM (LHsExpr GhcTcId) + +tcInferSigma :: + LHsExpr GhcRn + -> TcM (LHsExpr GhcTcId, TcSigmaType) + +tcInferRho, tcInferRhoNC :: + LHsExpr GhcRn + -> TcM (LHsExpr GhcTcId, TcRhoType) + +tcSyntaxOp :: CtOrigin + -> SyntaxExprRn + -> [SyntaxOpType] -- ^ shape of syntax operator arguments + -> ExpType -- ^ overall result type + -> ([TcSigmaType] -> TcM a) -- ^ Type check any arguments + -> TcM (a, SyntaxExprTc) + +tcSyntaxOpGen :: CtOrigin + -> SyntaxExprRn + -> [SyntaxOpType] + -> SyntaxOpType + -> ([TcSigmaType] -> TcM a) + -> TcM (a, SyntaxExprTc) + + +tcCheckId :: Name -> ExpRhoType -> TcM (HsExpr GhcTcId) |