summaryrefslogtreecommitdiff
path: root/compiler/GHC/Tc/Gen/Expr.hs-boot
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Tc/Gen/Expr.hs-boot')
-rw-r--r--compiler/GHC/Tc/Gen/Expr.hs-boot42
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)