| Safe Haskell | Ignore |
|---|---|
| Language | GHC2021 |
GHC.Tc.Types.BasicTypes
Contents
Synopsis
- type TcBinderStack = [TcBinder]
- type TcId = Id
- data TcBinder
- type TcSigFun = Name -> Maybe TcSigInfo
- data TcSigInfo
- data TcIdSig
- data TcCompleteSig = CSig {}
- data TcPartialSig = PSig {}
- data TcPatSynSig = PatSig {}
- data TcIdSigInst = TISI {
- sig_inst_sig :: TcIdSig
- sig_inst_skols :: [(Name, InvisTVBinder)]
- sig_inst_theta :: TcThetaType
- sig_inst_tau :: TcSigmaType
- sig_inst_wcs :: [(Name, TcTyVar)]
- sig_inst_wcx :: Maybe TcType
- isPartialSig :: TcIdSigInst -> Bool
- hasCompleteSig :: TcSigFun -> Name -> Bool
- tcSigInfoName :: TcSigInfo -> Name
- tcIdSigLoc :: TcIdSig -> SrcSpan
- completeSigPolyId_maybe :: TcSigInfo -> Maybe TcId
- data TcTyThing
- = AGlobal TyThing
- | ATcId {
- tct_id :: Id
- tct_info :: IdBindingInfo
- | ATyVar Name TcTyVar
- | ATcTyCon TyCon
- | APromotionErr PromotionErr
- data IdBindingInfo
- data IsGroupClosed = IsGroupClosed (NameEnv RhsNames) ClosedTypeId
- type RhsNames = NameSet
- type ClosedTypeId = Bool
- tcTyThingCategory :: TcTyThing -> String
- tcTyThingTyCon_maybe :: TcTyThing -> Maybe TyCon
- pprTcTyThingCategory :: TcTyThing -> SDoc
TcBinder
type TcBinderStack = [TcBinder] #
Constructors
| TcIdBndr TcId TopLevelFlag | |
| TcIdBndr_ExpType Name ExpType TopLevelFlag | |
| TcTvBndr Name TyVar |
Instances
| HasOccName TcBinder # | |
Defined in GHC.Tc.Types.BasicTypes | |
| Outputable TcBinder # | |
Defined in GHC.Tc.Types.BasicTypes | |
Signatures
Constructors
| TcIdSig TcIdSig | |
| TcPatSynSig TcPatSynSig |
Instances
| Outputable TcSigInfo # | |
Defined in GHC.Tc.Types.BasicTypes | |
Constructors
| TcCompleteSig TcCompleteSig | |
| TcPartialSig TcPartialSig |
Instances
| Outputable TcIdSig # | |
Defined in GHC.Tc.Types.BasicTypes | |
data TcCompleteSig #
Instances
| Outputable TcCompleteSig # | |
Defined in GHC.Tc.Types.BasicTypes Methods ppr :: TcCompleteSig -> SDoc # | |
data TcPartialSig #
Constructors
| PSig | |
Fields
| |
Instances
| Outputable TcPartialSig # | |
Defined in GHC.Tc.Types.BasicTypes Methods ppr :: TcPartialSig -> SDoc # | |
data TcPatSynSig #
Constructors
| PatSig | |
Fields | |
Instances
| Outputable TcPatSynSig # | |
Defined in GHC.Tc.Types.BasicTypes Methods ppr :: TcPatSynSig -> SDoc # | |
data TcIdSigInst #
Constructors
| TISI | |
Fields
| |
Instances
| Outputable TcIdSigInst # | |
Defined in GHC.Tc.Types.BasicTypes Methods ppr :: TcIdSigInst -> SDoc # | |
isPartialSig :: TcIdSigInst -> Bool #
hasCompleteSig :: TcSigFun -> Name -> Bool #
No signature or a partial signature
tcSigInfoName :: TcSigInfo -> Name #
tcIdSigLoc :: TcIdSig -> SrcSpan #
TcTyThing
A typecheckable thing available in a local context. Could be
AGlobal TyThing, but also lexically scoped variables, etc.
See GHC.Tc.Utils.Env for how to retrieve a TyThing given a Name.
Constructors
| AGlobal TyThing | |
| ATcId | |
Fields
| |
| ATyVar Name TcTyVar | |
| ATcTyCon TyCon | |
| APromotionErr PromotionErr | |
Instances
| Outputable TcTyThing # | |
Defined in GHC.Tc.Types.BasicTypes | |
data IdBindingInfo #
IdBindingInfo describes how an Id is bound.
It is used for the following purposes:
a) for static forms in checkClosedInStaticForm and
b) to figure out when a nested binding can be generalised,
in decideGeneralisationPlan.
Constructors
| NotLetBound | |
| ClosedLet | |
| NonClosedLet RhsNames ClosedTypeId |
Instances
| Outputable IdBindingInfo # | |
Defined in GHC.Tc.Types.BasicTypes Methods ppr :: IdBindingInfo -> SDoc # | |
data IsGroupClosed #
IsGroupClosed describes a group of mutually-recursive bindings
Constructors
| IsGroupClosed (NameEnv RhsNames) ClosedTypeId |
type ClosedTypeId = Bool #
tcTyThingCategory :: TcTyThing -> String #
pprTcTyThingCategory :: TcTyThing -> SDoc #