| 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