\begin{code}
module Finder (
- newFinder, -- :: PackageConfigInfo -> IO (),
- findModule, -- :: ModuleName -> IO (Maybe (Module, ModuleLocation))
- ModuleLocation(..),
- mkHomeModuleLocn,
+ initFinder, -- :: PackageConfigInfo -> IO (),
+ findModule -- :: ModuleName -> IO (Maybe (Module, ModuleLocation))
) where
#include "HsVersions.h"
GLOBAL_VAR(v_HomeDirCache, Nothing, Maybe (FiniteMap String FilePath))
-newFinder :: PackageConfigInfo -> IO ()
-newFinder (PackageConfigInfo pkgs) = do
+initFinder :: PackageConfigInfo -> IO ()
+initFinder (PackageConfigInfo pkgs) = do
-- expunge our home cache
writeIORef v_HomeDirCache Nothing
writeIORef v_PkgDirCache (unsafePerformIO (newPkgCache pkgs))
-findModule :: [Package] -> ModuleName -> IO (Maybe (Module, ModuleLocation))
-findModule pkgs name = do
+findModule :: ModuleName -> IO (Maybe (Module, ModuleLocation))
+findModule name = do
j <- maybeHomeModule name
case j of
Just home_module -> return (Just home_module)