ghc-6.12.3: The GHC API
Source code
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]
Bool
|
NewTypeDerived
CoercionI
TyCon
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
->
ThLevel
->
TcM
()
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
-> [
Type
] ->
SrcSpan
->
TcM
Name
mkStableIdFromString
::
String
->
Type
->
SrcSpan
-> (
OccName
->
OccName
) ->
TcM
TcId
mkStableIdFromName
::
Name
->
Type
->
SrcSpan
-> (
OccName
->
OccName
) ->
TcM
TcId
Documentation
data
TyThing
Source
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
Source
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
Source
data
InstInfo
a
Source
Constructors
InstInfo
iSpec
::
Instance
iBinds
::
InstBindings
a
iDFunId
::
InstInfo
a ->
DFunId
Source
pprInstInfo
::
InstInfo
a ->
SDoc
Source
pprInstInfoDetails
::
OutputableBndr
a =>
InstInfo
a ->
SDoc
Source
simpleInstInfoClsTy
::
InstInfo
a -> (
Class
,
Type
)
Source
simpleInstInfoTy
::
InstInfo
a ->
Type
Source
simpleInstInfoTyCon
::
InstInfo
a ->
TyCon
Source
data
InstBindings
a
Source
Constructors
VanillaInst
(
LHsBinds
a) [
LSig
a]
Bool
NewTypeDerived
CoercionI
TyCon
tcExtendGlobalEnv
:: [
TyThing
] ->
TcM
r ->
TcM
r
Source
setGlobalTypeEnv
::
TcGblEnv
->
TypeEnv
->
TcM
TcGblEnv
Source
tcExtendGlobalValEnv
:: [
Id
] ->
TcM
a ->
TcM
a
Source
tcLookupLocatedGlobal
::
Located
Name
->
TcM
TyThing
Source
tcLookupGlobal
::
Name
->
TcM
TyThing
Source
tcLookupField
::
Name
->
TcM
Id
Source
tcLookupTyCon
::
Name
->
TcM
TyCon
Source
tcLookupClass
::
Name
->
TcM
Class
Source
tcLookupDataCon
::
Name
->
TcM
DataCon
Source
tcLookupLocatedGlobalId
::
Located
Name
->
TcM
Id
Source
tcLookupLocatedTyCon
::
Located
Name
->
TcM
TyCon
Source
tcLookupLocatedClass
::
Located
Name
->
TcM
Class
Source
tcLookupFamInst
::
TyCon
-> [
Type
] ->
TcM
(
Maybe
(
TyCon
, [
Type
]))
Source
tcExtendKindEnv
:: [(
Name
,
TcKind
)] ->
TcM
r ->
TcM
r
Source
tcExtendKindEnvTvs
:: [
LHsTyVarBndr
Name
] ->
TcM
r ->
TcM
r
Source
tcExtendTyVarEnv
:: [
TyVar
] ->
TcM
r ->
TcM
r
Source
tcExtendTyVarEnv2
:: [(
Name
,
TcType
)] ->
TcM
r ->
TcM
r
Source
tcExtendGhciEnv
:: [
TcId
] ->
TcM
a ->
TcM
a
Source
tcExtendIdEnv
:: [
TcId
] ->
TcM
a ->
TcM
a
Source
tcExtendIdEnv1
::
Name
->
TcId
->
TcM
a ->
TcM
a
Source
tcExtendIdEnv2
:: [(
Name
,
TcId
)] ->
TcM
a ->
TcM
a
Source
tcLookup
::
Name
->
TcM
TcTyThing
Source
tcLookupLocated
::
Located
Name
->
TcM
TcTyThing
Source
tcLookupLocalIds
:: [
Name
] ->
TcM
[
TcId
]
Source
tcLookupId
::
Name
->
TcM
Id
Source
tcLookupTyVar
::
Name
->
TcM
TcTyVar
Source
getScopedTyVarBinds
::
TcM
[(
Name
,
TcType
)]
Source
lclEnvElts
::
TcLclEnv
-> [
TcTyThing
]
Source
getInLocalScope
::
TcM
(
Name
->
Bool
)
Source
findGlobals
::
TcTyVarSet
->
TidyEnv
->
TcM
(
TidyEnv
, [
SDoc
])
Source
wrongThingErr
::
String
->
TcTyThing
->
Name
->
TcM
a
Source
pprBinders
:: [
Name
] ->
SDoc
Source
tcExtendRecEnv
:: [(
Name
,
TyThing
)] ->
TcM
r ->
TcM
r
Source
tcExtendRules
:: [
LRuleDecl
Id
] ->
TcM
a ->
TcM
a
Source
tcGetGlobalTyVars
::
TcM
TcTyVarSet
Source
checkWellStaged
::
SDoc
->
ThLevel
->
ThLevel
->
TcM
()
Source
tcMetaTy
::
Name
->
TcM
Type
Source
thLevel
::
ThStage
->
ThLevel
Source
topIdLvl
::
Id
->
ThLevel
Source
thTopLevelId
::
Id
->
Bool
Source
thRnBrack
::
ThStage
Source
isBrackStage
::
ThStage
->
Bool
Source
newLocalName
::
Name
->
TcRnIf
gbl lcl
Name
Source
newDFunName
::
Class
-> [
Type
] ->
SrcSpan
->
TcM
Name
Source
newFamInstTyConName
::
Name
-> [
Type
] ->
SrcSpan
->
TcM
Name
Source
mkStableIdFromString
::
String
->
Type
->
SrcSpan
-> (
OccName
->
OccName
) ->
TcM
TcId
Source
mkStableIdFromName
::
Name
->
Type
->
SrcSpan
-> (
OccName
->
OccName
) ->
TcM
TcId
Source
Produced by
Haddock
version 2.6.1