From 75308b6727c552f6990b9984f0d2cd6374779359 Mon Sep 17 00:00:00 2001 From: simonmar Date: Mon, 16 Oct 2000 15:21:48 +0000 Subject: [PATCH] [project @ 2000-10-16 15:21:48 by simonmar] add some comments --- ghc/compiler/main/Finder.lhs | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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, -- 1.7.10.4