ghc-7.0.4: The GHC API

IfaceEnv

Synopsis

- newGlobalBinder :: Module -> OccName -> SrcSpan -> TcRnIf a b Name
- newIPName :: IPName OccName -> TcRnIf m n (IPName Name)
- newImplicitBinder :: Name -> (OccName -> OccName) -> TcRnIf m n Name
- lookupIfaceTop :: OccName -> IfL Name
- lookupOrig :: Module -> OccName -> TcRnIf a b Name
- lookupOrigNameCache :: OrigNameCache -> Module -> OccName -> Maybe Name
- extendNameCache :: OrigNameCache -> Module -> OccName -> Name -> OrigNameCache
- newIfaceName :: OccName -> IfL Name
- newIfaceNames :: [OccName] -> IfL [Name]
- extendIfaceIdEnv :: [Id] -> IfL a -> IfL a
- extendIfaceTyVarEnv :: [TyVar] -> IfL a -> IfL a
- tcIfaceLclId :: FastString -> IfL Id
- tcIfaceTyVar :: FastString -> IfL TyVar
- lookupIfaceTyVar :: FastString -> IfL (Maybe TyVar)
- tcIfaceTick :: Module -> Int -> IfL Id
- ifaceExportNames :: [IfaceExport] -> TcRnIf gbl lcl [AvailInfo]
- allocateGlobalBinder :: NameCache -> Module -> OccName -> SrcSpan -> (NameCache, Name)
- initNameCache :: UniqSupply -> [Name] -> NameCache
- getNameCache :: TcRnIf a b NameCache
- mkNameCacheUpdater :: TcRnIf a b (NameCacheUpdater c)
- type NameCacheUpdater c = (NameCache -> (NameCache, c)) -> IO c

# Documentation

newGlobalBinder :: Module -> OccName -> SrcSpan -> TcRnIf a b Name Source

newIPName :: IPName OccName -> TcRnIf m n (IPName Name)Source

newImplicitBinder :: Name -> (OccName -> OccName) -> TcRnIf m n Name Source

lookupIfaceTop :: OccName -> IfL Name Source

lookupOrig :: Module -> OccName -> TcRnIf a b Name Source

lookupOrigNameCache :: OrigNameCache -> Module -> OccName -> Maybe Name Source

extendNameCache :: OrigNameCache -> Module -> OccName -> Name -> OrigNameCache Source

newIfaceName :: OccName -> IfL Name Source

newIfaceNames :: [OccName] -> IfL [Name]Source

extendIfaceIdEnv :: [Id] -> IfL a -> IfL aSource

extendIfaceTyVarEnv :: [TyVar] -> IfL a -> IfL aSource

tcIfaceLclId :: FastString -> IfL Id Source

tcIfaceTyVar :: FastString -> IfL TyVar Source

lookupIfaceTyVar :: FastString -> IfL (Maybe TyVar)Source

tcIfaceTick :: Module -> Int -> IfL Id Source

ifaceExportNames :: [IfaceExport] -> TcRnIf gbl lcl [AvailInfo]Source

allocateGlobalBinder :: NameCache -> Module -> OccName -> SrcSpan -> (NameCache, Name)Source

initNameCache :: UniqSupply -> [Name] -> NameCache Source

getNameCache :: TcRnIf a b NameCache Source

mkNameCacheUpdater :: TcRnIf a b (NameCacheUpdater c)Source

Return a function to atomically update the name cache.

type NameCacheUpdater c = (NameCache -> (NameCache, c)) -> IO cSource

A function that atomically updates the name cache given a modifier function. The second result of the modifier function will be the result of the IO action.