module TcExpr where
import HsSyn ( HsExpr, LHsExpr )
import Name ( Name )
-import Var ( Id )
-import TcType ( TcType, BoxySigmaType, BoxyRhoType )
-import TcRnTypes( TcM, InstOrigin )
+import TcType ( TcType, TcRhoType, TcSigmaType )
+import TcRnTypes( TcM, TcId, CtOrigin )
tcPolyExpr ::
LHsExpr Name
- -> BoxySigmaType
- -> TcM (LHsExpr Id)
+ -> TcSigmaType
+ -> TcM (LHsExpr TcId)
-tcMonoExpr ::
+tcMonoExpr, tcMonoExprNC ::
LHsExpr Name
- -> BoxyRhoType
- -> TcM (LHsExpr Id)
+ -> TcRhoType
+ -> TcM (LHsExpr TcId)
-tcInferRho ::
+tcInferRho, tcInferRhoNC ::
LHsExpr Name
- -> TcM (LHsExpr Id, TcType)
+ -> TcM (LHsExpr TcId, TcRhoType)
-tcSyntaxOp ::
- InstOrigin
- -> HsExpr Name
- -> TcType
- -> TcM (HsExpr Id)
+tcSyntaxOp :: CtOrigin
+ -> HsExpr Name
+ -> TcType
+ -> TcM (HsExpr TcId)
+
+tcCheckId :: Name -> TcRhoType -> TcM (HsExpr TcId)
\end{code}