Safe Haskell | None |
---|---|
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] Source #
Constructors
TcIdBndr TcId TopLevelFlag | |
TcIdBndr_ExpType Name ExpType TopLevelFlag | |
TcTvBndr Name TyVar |
Instances
Signatures
Constructors
TcIdSig TcIdSig | |
TcPatSynSig TcPatSynSig |
Instances
Constructors
TcCompleteSig TcCompleteSig | |
TcPartialSig TcPartialSig |
Instances
data TcCompleteSig Source #
Instances
Outputable TcCompleteSig Source # | |
Defined in GHC.Tc.Types.BasicTypes Methods ppr :: TcCompleteSig -> SDoc Source # |
data TcPartialSig Source #
Constructors
PSig | |
Fields
|
Instances
Outputable TcPartialSig Source # | |
Defined in GHC.Tc.Types.BasicTypes Methods ppr :: TcPartialSig -> SDoc Source # |
data TcPatSynSig Source #
Constructors
PatSig | |
Fields |
Instances
Outputable TcPatSynSig Source # | |
Defined in GHC.Tc.Types.BasicTypes Methods ppr :: TcPatSynSig -> SDoc Source # |
data TcIdSigInst Source #
Constructors
TISI | |
Fields
|
Instances
Outputable TcIdSigInst Source # | |
Defined in GHC.Tc.Types.BasicTypes Methods ppr :: TcIdSigInst -> SDoc Source # |
isPartialSig :: TcIdSigInst -> Bool Source #
tcSigInfoName :: TcSigInfo -> Name Source #
tcIdSigLoc :: TcIdSig -> SrcSpan Source #
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
data IdBindingInfo Source #
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 Source # | |
Defined in GHC.Tc.Types.BasicTypes Methods ppr :: IdBindingInfo -> SDoc Source # |
data IsGroupClosed Source #
IsGroupClosed describes a group of mutually-recursive bindings
Constructors
IsGroupClosed (NameEnv RhsNames) ClosedTypeId |
type ClosedTypeId = Bool Source #
tcTyThingCategory :: TcTyThing -> String Source #
pprTcTyThingCategory :: TcTyThing -> SDoc Source #