| 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