ghc-8.0.2: The GHC API

Safe Haskell | None
Language | Haskell2010

TcPat

Synopsis

- tcLetPat :: TcSigFun -> LetBndrSpec -> LPat Name -> ExpSigmaType -> TcM a -> TcM (LPat TcId, a)
- type TcPragEnv = NameEnv [LSig Name]
- lookupPragEnv :: TcPragEnv -> Name -> [LSig Name]
- emptyPragEnv :: TcPragEnv
- data LetBndrSpec
  - = LetLclBndr
  - | LetGblBndr TcPragEnv
- addInlinePrags :: TcId -> [LSig Name] -> TcM TcId
- tcPat :: HsMatchContext Name -> LPat Name -> ExpSigmaType -> TcM a -> TcM (LPat TcId, a)
- tcPat_O :: HsMatchContext Name -> CtOrigin -> LPat Name -> ExpSigmaType -> TcM a -> TcM (LPat TcId, a)
- tcPats :: HsMatchContext Name -> [LPat Name] -> [ExpSigmaType] -> TcM a -> TcM ([LPat TcId], a)
- newNoSigLetBndr :: LetBndrSpec -> Name -> TcType -> TcM TcId
- addDataConStupidTheta :: DataCon -> [TcType] -> TcM ()
- badFieldCon :: ConLike -> FieldLabelString -> SDoc
- polyPatSig :: TcType -> SDoc

# Documentation

tcLetPat :: TcSigFun -> LetBndrSpec -> LPat Name -> ExpSigmaType -> TcM a -> TcM (LPat TcId, a) Source #

type TcPragEnv = NameEnv [LSig Name] Source #

lookupPragEnv :: TcPragEnv -> Name -> [LSig Name] Source #

emptyPragEnv :: TcPragEnv Source #

data LetBndrSpec Source #

Constructors

LetLclBndr |
LetGblBndr TcPragEnv |

addInlinePrags :: TcId -> [LSig Name] -> TcM TcId Source #

tcPat :: HsMatchContext Name -> LPat Name -> ExpSigmaType -> TcM a -> TcM (LPat TcId, a) Source #

tcPat_O Source #

Arguments

:: HsMatchContext Name |
-> CtOrigin | origin to use if the type needs inst'ing
-> LPat Name |
-> ExpSigmaType |
-> TcM a |
-> TcM (LPat TcId, a) |

A variant of `tcPat` that takes a custom origin

tcPats :: HsMatchContext Name -> [LPat Name] -> [ExpSigmaType] -> TcM a -> TcM ([LPat TcId], a) Source #

newNoSigLetBndr :: LetBndrSpec -> Name -> TcType -> TcM TcId Source #

addDataConStupidTheta :: DataCon -> [TcType] -> TcM () Source #

badFieldCon :: ConLike -> FieldLabelString -> SDoc Source #

polyPatSig :: TcType -> SDoc Source #