ghc-8.2.2: The GHC API

Safe Haskell | None
Language | Haskell2010

TcPat

Synopsis

- tcLetPat :: (Name -> Maybe TcId) -> LetBndrSpec -> LPat Name -> ExpSigmaType -> TcM a -> TcM (LPat TcId, a)
- newLetBndr :: LetBndrSpec -> Name -> TcType -> TcM TcId
- data LetBndrSpec
  - = LetLclBndr
  - | LetGblBndr TcPragEnv
- 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)
- addDataConStupidTheta :: DataCon -> [TcType] -> TcM ()
- badFieldCon :: ConLike -> FieldLabelString -> SDoc
- polyPatSig :: TcType -> SDoc

# Documentation

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

newLetBndr :: LetBndrSpec -> Name -> TcType -> TcM TcId #

data LetBndrSpec #

Constructors

LetLclBndr |
LetGblBndr TcPragEnv |

Instances

Outputable LetBndrSpec # |
Methods ppr :: LetBndrSpec -> SDoc # pprPrec :: Rational -> LetBndrSpec -> SDoc #

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

tcPat_O #

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) #

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

badFieldCon :: ConLike -> FieldLabelString -> SDoc #

polyPatSig :: TcType -> SDoc #