|
|
|
|
|
|
| Synopsis |
|
|
|
| Documentation |
|
| withModEnv :: Env -> (ModEnv -> IO a) -> IO a |
| apply f to the loaded objects Env, apply f to the package.conf
FM locks up the MVar so you can't recursively call a function
inside a with any -Env function. Nice and threadsafe
|
|
| withDepEnv :: Env -> (DepEnv -> IO a) -> IO a |
|
| withPkgEnvs :: Env -> (PkgEnvs -> IO a) -> IO a |
|
| withMerged :: Env -> (MergeEnv -> IO a) -> IO a |
|
| modifyModEnv :: Env -> (ModEnv -> IO ModEnv) -> IO () |
|
| modifyDepEnv :: Env -> (DepEnv -> IO DepEnv) -> IO () |
|
| modifyPkgEnv :: Env -> (PkgEnvs -> IO PkgEnvs) -> IO () |
|
| modifyMerged :: Env -> (MergeEnv -> IO MergeEnv) -> IO () |
|
| addModule :: String -> Module -> IO () |
| insert a loaded module name into the environment
|
|
| rmModule :: String -> IO Bool |
| remove a module name from the environment. Returns True if the
module was actually removed.
|
|
| addModules :: [(String, Module)] -> IO () |
| insert a list of module names all in one go
|
|
| isLoaded :: String -> IO Bool |
| is a module/package already loaded?
|
|
| loaded :: String -> IO Bool |
|
| addModuleDeps :: Module -> [Module] -> IO () |
| Set the dependencies of a Module.
|
|
| getModuleDeps :: Module -> IO [Module] |
| Get module dependencies. Nothing if none have been recored.
|
|
| rmModuleDeps :: Module -> IO () |
| Unrecord a module from the environment.
|
|
| isMerged :: FilePath -> FilePath -> IO Bool |
|
| lookupMerged :: FilePath -> FilePath -> IO (Maybe FilePath) |
|
| addMerge :: FilePath -> FilePath -> FilePath -> IO () |
|
| addPkgConf :: FilePath -> IO () |
| Insert a single package.conf (containing multiple configs) means:
create a new FM. insert packages into FM. add FM to end of list of FM
stored in the environment.
|
|
| union :: PkgEnvs -> [PackageConfig] -> PkgEnvs |
| add a new FM for the package.conf to the list of existing ones
|
|
| grabDefaultPkgConf :: IO PkgEnvs |
| generate a PkgEnv from the system package.conf
The path to the default package.conf was determined by configure
This imposes a constraint that you must build your plugins with the
same ghc you use to build hs-plugins. This is reasonable, we feel.
|
|
| readPackageConf :: FilePath -> IO [PackageConfig] |
|
| lookupPkg :: PackageName -> IO ([FilePath], [FilePath]) |
|
| Produced by Haddock version 0.8 |