TcPat

ghc-7.10.2: The GHC API

Safe Haskell | None
Language | Haskell2010

TcPat

# Documentation

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

type TcSigFun = Name -> Maybe TcSigInfo Source

type TcPragFun = Name -> [LSig Name] Source

data TcSigInfo Source

Constructors

TcSigInfo |
Fields sig_id :: TcId sig_tvs :: [(Maybe Name, TcTyVar)] sig_nwcs :: [(Name, TcTyVar)] sig_theta :: TcThetaType sig_extra_cts :: Maybe SrcSpan sig_tau :: TcSigmaType sig_loc :: SrcSpan sig_partial :: Bool
TcPatSynInfo TcPatSynInfo |

Instances

Outputable TcSigInfo |
NamedThing TcSigInfo |

data TcPatSynInfo Source

Constructors

TPSI |
Fields patsig_name :: Name patsig_tau :: TcSigmaType patsig_ex :: [TcTyVar] patsig_prov :: TcThetaType patsig_univ :: [TcTyVar] patsig_req :: TcThetaType

Instances

Outputable TcPatSynInfo |

findScopedTyVars :: LHsType Name -> TcType -> [TcTyVar] -> [(Maybe Name, TcTyVar)] Source

isPartialSig :: TcSigInfo -> Bool Source

data LetBndrSpec Source

Constructors

LetLclBndr |
LetGblBndr TcPragFun |

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

warnPrags :: Id -> [LSig Name] -> SDoc -> TcM () Source

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

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

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

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

badFieldCon :: ConLike -> Name -> SDoc Source

polyPatSig :: TcType -> SDoc Source