| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
TcHsSyn
- hsLitType :: HsLit -> TcType
 - hsLPatType :: OutPat Id -> Type
 - hsPatType :: Pat Id -> Type
 - mkHsDictLet :: TcEvBinds -> LHsExpr Id -> LHsExpr Id
 - mkHsApp :: LHsExpr name -> LHsExpr name -> LHsExpr name
 - mkHsAppTy :: LHsType name -> LHsType name -> LHsType name
 - mkHsCaseAlt :: LPat id -> Located (body id) -> LMatch id (Located (body id))
 - nlHsIntLit :: Integer -> LHsExpr id
 - shortCutLit :: DynFlags -> OverLitVal -> TcType -> Maybe (HsExpr TcId)
 - hsOverLitName :: OverLitVal -> Name
 - conLikeResTy :: ConLike -> [Type] -> Type
 - type TcId = Id
 - type TcIdSet = IdSet
 - zonkTopDecls :: Bag EvBind -> LHsBinds TcId -> [LRuleDecl TcId] -> [LVectDecl TcId] -> [LTcSpecPrag] -> [LForeignDecl TcId] -> TcM (TypeEnv, Bag EvBind, LHsBinds Id, [LForeignDecl Id], [LTcSpecPrag], [LRuleDecl Id], [LVectDecl Id])
 - zonkTopExpr :: HsExpr TcId -> TcM (HsExpr Id)
 - zonkTopLExpr :: LHsExpr TcId -> TcM (LHsExpr Id)
 - zonkTopBndrs :: [TcId] -> TcM [Id]
 - zonkTyBndrsX :: ZonkEnv -> [TcTyVar] -> TcM (ZonkEnv, [TyVar])
 - zonkTyVarBindersX :: ZonkEnv -> [TyVarBndr TcTyVar vis] -> TcM (ZonkEnv, [TyVarBndr TyVar vis])
 - zonkTyVarBinderX :: ZonkEnv -> TyVarBndr TcTyVar vis -> TcM (ZonkEnv, TyVarBndr TyVar vis)
 - emptyZonkEnv :: ZonkEnv
 - mkEmptyZonkEnv :: UnboundTyVarZonker -> ZonkEnv
 - zonkTcTypeToType :: ZonkEnv -> TcType -> TcM Type
 - zonkTcTypeToTypes :: ZonkEnv -> [TcType] -> TcM [Type]
 - zonkTyVarOcc :: ZonkEnv -> TyVar -> TcM TcType
 - zonkCoToCo :: ZonkEnv -> Coercion -> TcM Coercion
 - zonkSigType :: TcType -> TcM Type
 - zonkEvBinds :: ZonkEnv -> Bag EvBind -> TcM (ZonkEnv, Bag EvBind)
 
Extracting types from HsSyn
Other HsSyn functions
mkHsCaseAlt :: LPat id -> Located (body id) -> LMatch id (Located (body id)) Source #
A simple case alternative with a single pattern, no binds, no guards; pre-typechecking
nlHsIntLit :: Integer -> LHsExpr id Source #
shortCutLit :: DynFlags -> OverLitVal -> TcType -> Maybe (HsExpr TcId) Source #
hsOverLitName :: OverLitVal -> Name Source #
re-exported from TcMonad
Zonking
For a description of "zonking", see Note [What is zonking?] in TcMType
zonkTopDecls :: Bag EvBind -> LHsBinds TcId -> [LRuleDecl TcId] -> [LVectDecl TcId] -> [LTcSpecPrag] -> [LForeignDecl TcId] -> TcM (TypeEnv, Bag EvBind, LHsBinds Id, [LForeignDecl Id], [LTcSpecPrag], [LRuleDecl Id], [LVectDecl Id]) Source #
zonkTyVarBindersX :: ZonkEnv -> [TyVarBndr TcTyVar vis] -> TcM (ZonkEnv, [TyVarBndr TyVar vis]) Source #
emptyZonkEnv :: ZonkEnv Source #
mkEmptyZonkEnv :: UnboundTyVarZonker -> ZonkEnv Source #