From: simonmar Date: Mon, 16 Oct 2000 15:21:48 +0000 (+0000) Subject: [project @ 2000-10-16 15:21:48 by simonmar] X-Git-Tag: Approximately_9120_patches~3564 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=75308b6727c552f6990b9984f0d2cd6374779359;p=ghc-hetmet.git [project @ 2000-10-16 15:21:48 by simonmar] add some comments --- diff --git a/ghc/compiler/main/Finder.lhs b/ghc/compiler/main/Finder.lhs index 8408501..b345755 100644 --- a/ghc/compiler/main/Finder.lhs +++ b/ghc/compiler/main/Finder.lhs @@ -27,9 +27,22 @@ import IO import Monad \end{code} +The Finder provides a thin filesystem abstraction to the rest of the +compiler. For a given module, it knows (a) which package the module +lives in, so it can make a Module from a ModuleName, and (b) where the +source, interface, and object files for a module live. + \begin{code} type Finder = ModuleName -> IO (Maybe (Module, ModuleLocation)) +-- For a module in another package, the hs_file and obj_file +-- components of ModuleLocation are undefined. + +-- The locations specified by a ModuleLocation may or may not +-- correspond to actual files yet: for example, even if the object +-- file doesn't exist, the ModuleLocation still contains the path to +-- where the object file will reside if/when it is created. + data ModuleLocation = ModuleLocation { hs_file :: FilePath,