ghc-7.10.3: The GHC API

Safe Haskell | None
Language | Haskell2010

TcPat

# Documentation

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

type TcSigFun = Name -> Maybe TcSigInfo

type TcPragFun = Name -> [LSig Name]

data TcSigInfo

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

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

isPartialSig :: TcSigInfo -> Bool

data LetBndrSpec

Constructors

LetLclBndr |
LetGblBndr TcPragFun |

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

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

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

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

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

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

badFieldCon :: ConLike -> Name -> SDoc

polyPatSig :: TcType -> SDoc