ghc-6.10.4: The GHC API
Contents
Index
TcEnv
Synopsis
data
TyThing
=
AnId
Id
|
ADataCon
DataCon
|
ATyCon
TyCon
|
AClass
Class
data
TcTyThing
=
AGlobal
TyThing
|
ATcId
{
tct_id
::
TcId
tct_co
::
RefinementVisibility
tct_type
::
TcType
tct_level
::
ThLevel
}
|
ATyVar
Name
TcType
|
AThing
TcKind
type
TcId
=
Id
data
InstInfo
a =
InstInfo
{
iSpec
::
Instance
iBinds
::
InstBindings
a
}
iDFunId
::
InstInfo
a ->
DFunId
pprInstInfo
::
InstInfo
a ->
SDoc
pprInstInfoDetails
::
OutputableBndr
a =>
InstInfo
a ->
SDoc
simpleInstInfoClsTy
::
InstInfo
a -> (
Class
,
Type
)
simpleInstInfoTy
::
InstInfo
a ->
Type
simpleInstInfoTyCon
::
InstInfo
a ->
TyCon
data
InstBindings
a
=
VanillaInst
(
LHsBinds
a) [
LSig
a]
|
NewTypeDerived
CoercionI
tcExtendGlobalEnv
:: [
TyThing
] ->
TcM
r ->
TcM
r
setGlobalTypeEnv
::
TcGblEnv
->
TypeEnv
->
TcM
TcGblEnv
tcExtendGlobalValEnv
:: [
Id
] ->
TcM
a ->
TcM
a
tcLookupLocatedGlobal
::
Located
Name
->
TcM
TyThing
tcLookupGlobal
::
Name
->
TcM
TyThing
tcLookupField
::
Name
->
TcM
Id
tcLookupTyCon
::
Name
->
TcM
TyCon
tcLookupClass
::
Name
->
TcM
Class
tcLookupDataCon
::
Name
->
TcM
DataCon
tcLookupLocatedGlobalId
::
Located
Name
->
TcM
Id
tcLookupLocatedTyCon
::
Located
Name
->
TcM
TyCon
tcLookupLocatedClass
::
Located
Name
->
TcM
Class
tcLookupFamInst
::
TyCon
-> [
Type
] ->
TcM
(
Maybe
(
TyCon
, [
Type
]))
tcExtendKindEnv
:: [(
Name
,
TcKind
)] ->
TcM
r ->
TcM
r
tcExtendKindEnvTvs
:: [
LHsTyVarBndr
Name
] ->
TcM
r ->
TcM
r
tcExtendTyVarEnv
:: [
TyVar
] ->
TcM
r ->
TcM
r
tcExtendTyVarEnv2
:: [(
Name
,
TcType
)] ->
TcM
r ->
TcM
r
tcExtendGhciEnv
:: [
TcId
] ->
TcM
a ->
TcM
a
tcExtendIdEnv
:: [
TcId
] ->
TcM
a ->
TcM
a
tcExtendIdEnv1
::
Name
->
TcId
->
TcM
a ->
TcM
a
tcExtendIdEnv2
:: [(
Name
,
TcId
)] ->
TcM
a ->
TcM
a
tcLookup
::
Name
->
TcM
TcTyThing
tcLookupLocated
::
Located
Name
->
TcM
TcTyThing
tcLookupLocalIds
:: [
Name
] ->
TcM
[
TcId
]
tcLookupId
::
Name
->
TcM
Id
tcLookupTyVar
::
Name
->
TcM
TcTyVar
getScopedTyVarBinds
::
TcM
[(
Name
,
TcType
)]
lclEnvElts
::
TcLclEnv
-> [
TcTyThing
]
getInLocalScope
::
TcM
(
Name
->
Bool
)
findGlobals
::
TcTyVarSet
->
TidyEnv
->
TcM
(
TidyEnv
, [
SDoc
])
wrongThingErr
::
String
->
TcTyThing
->
Name
->
TcM
a
pprBinders
:: [
Name
] ->
SDoc
tcExtendRecEnv
:: [(
Name
,
TyThing
)] ->
TcM
r ->
TcM
r
tcExtendRules
:: [
LRuleDecl
Id
] ->
TcM
a ->
TcM
a
tcGetGlobalTyVars
::
TcM
TcTyVarSet
checkWellStaged
::
SDoc
->
ThLevel
->
ThStage
->
TcM
()
spliceOK
::
ThStage
->
Maybe
ThLevel
bracketOK
::
ThStage
->
Maybe
ThLevel
tcMetaTy
::
Name
->
TcM
Type
thLevel
::
ThStage
->
ThLevel
topIdLvl
::
Id
->
ThLevel
thTopLevelId
::
Id
->
Bool
thRnBrack
::
ThStage
isBrackStage
::
ThStage
->
Bool
newLocalName
::
Name
->
TcRnIf
gbl lcl
Name
newDFunName
::
Class
-> [
Type
] ->
SrcSpan
->
TcM
Name
newFamInstTyConName
::
Name
->
SrcSpan
->
TcM
Name
mkStableIdFromString
::
String
->
Type
->
SrcSpan
-> (
OccName
->
OccName
) ->
TcM
TcId
mkStableIdFromName
::
Name
->
Type
->
SrcSpan
-> (
OccName
->
OccName
) ->
TcM
TcId
Documentation
data
TyThing
A typecheckable-thing, essentially anything that has a name
Constructors
AnId
Id
ADataCon
DataCon
ATyCon
TyCon
AClass
Class
Instances
Outputable
TyThing
NamedThing
TyThing
data
TcTyThing
Constructors
AGlobal
TyThing
ATcId
tct_id
::
TcId
tct_co
::
RefinementVisibility
tct_type
::
TcType
tct_level
::
ThLevel
ATyVar
Name
TcType
AThing
TcKind
Instances
Outputable
TcTyThing
type
TcId
=
Id
data
InstInfo
a
Constructors
InstInfo
iSpec
::
Instance
iBinds
::
InstBindings
a
iDFunId
::
InstInfo
a ->
DFunId
pprInstInfo
::
InstInfo
a ->
SDoc
pprInstInfoDetails
::
OutputableBndr
a =>
InstInfo
a ->
SDoc
simpleInstInfoClsTy
::
InstInfo
a -> (
Class
,
Type
)
simpleInstInfoTy
::
InstInfo
a ->
Type
simpleInstInfoTyCon
::
InstInfo
a ->
TyCon
data
InstBindings
a
Constructors
VanillaInst
(
LHsBinds
a) [
LSig
a]
NewTypeDerived
CoercionI
tcExtendGlobalEnv
:: [
TyThing
] ->
TcM
r ->
TcM
r
setGlobalTypeEnv
::
TcGblEnv
->
TypeEnv
->
TcM
TcGblEnv
tcExtendGlobalValEnv
:: [
Id
] ->
TcM
a ->
TcM
a
tcLookupLocatedGlobal
::
Located
Name
->
TcM
TyThing
tcLookupGlobal
::
Name
->
TcM
TyThing
tcLookupField
::
Name
->
TcM
Id
tcLookupTyCon
::
Name
->
TcM
TyCon
tcLookupClass
::
Name
->
TcM
Class
tcLookupDataCon
::
Name
->
TcM
DataCon
tcLookupLocatedGlobalId
::
Located
Name
->
TcM
Id
tcLookupLocatedTyCon
::
Located
Name
->
TcM
TyCon
tcLookupLocatedClass
::
Located
Name
->
TcM
Class
tcLookupFamInst
::
TyCon
-> [
Type
] ->
TcM
(
Maybe
(
TyCon
, [
Type
]))
tcExtendKindEnv
:: [(
Name
,
TcKind
)] ->
TcM
r ->
TcM
r
tcExtendKindEnvTvs
:: [
LHsTyVarBndr
Name
] ->
TcM
r ->
TcM
r
tcExtendTyVarEnv
:: [
TyVar
] ->
TcM
r ->
TcM
r
tcExtendTyVarEnv2
:: [(
Name
,
TcType
)] ->
TcM
r ->
TcM
r
tcExtendGhciEnv
:: [
TcId
] ->
TcM
a ->
TcM
a
tcExtendIdEnv
:: [
TcId
] ->
TcM
a ->
TcM
a
tcExtendIdEnv1
::
Name
->
TcId
->
TcM
a ->
TcM
a
tcExtendIdEnv2
:: [(
Name
,
TcId
)] ->
TcM
a ->
TcM
a
tcLookup
::
Name
->
TcM
TcTyThing
tcLookupLocated
::
Located
Name
->
TcM
TcTyThing
tcLookupLocalIds
:: [
Name
] ->
TcM
[
TcId
]
tcLookupId
::
Name
->
TcM
Id
tcLookupTyVar
::
Name
->
TcM
TcTyVar
getScopedTyVarBinds
::
TcM
[(
Name
,
TcType
)]
lclEnvElts
::
TcLclEnv
-> [
TcTyThing
]
getInLocalScope
::
TcM
(
Name
->
Bool
)
findGlobals
::
TcTyVarSet
->
TidyEnv
->
TcM
(
TidyEnv
, [
SDoc
])
wrongThingErr
::
String
->
TcTyThing
->
Name
->
TcM
a
pprBinders
:: [
Name
] ->
SDoc
tcExtendRecEnv
:: [(
Name
,
TyThing
)] ->
TcM
r ->
TcM
r
tcExtendRules
:: [
LRuleDecl
Id
] ->
TcM
a ->
TcM
a
tcGetGlobalTyVars
::
TcM
TcTyVarSet
checkWellStaged
::
SDoc
->
ThLevel
->
ThStage
->
TcM
()
spliceOK
::
ThStage
->
Maybe
ThLevel
bracketOK
::
ThStage
->
Maybe
ThLevel
tcMetaTy
::
Name
->
TcM
Type
thLevel
::
ThStage
->
ThLevel
topIdLvl
::
Id
->
ThLevel
thTopLevelId
::
Id
->
Bool
thRnBrack
::
ThStage
isBrackStage
::
ThStage
->
Bool
newLocalName
::
Name
->
TcRnIf
gbl lcl
Name
newDFunName
::
Class
-> [
Type
] ->
SrcSpan
->
TcM
Name
newFamInstTyConName
::
Name
->
SrcSpan
->
TcM
Name
mkStableIdFromString
::
String
->
Type
->
SrcSpan
-> (
OccName
->
OccName
) ->
TcM
TcId
mkStableIdFromName
::
Name
->
Type
->
SrcSpan
-> (
OccName
->
OccName
) ->
TcM
TcId
Produced by
Haddock
version 2.4.2