\section[CompManager]{The Compilation Manager}
\begin{code}
+#if 1
+module CompManager ( )
+where
+the_answer = "42"
+
+#else
+
module CompManager ( cmInit, cmLoadModule,
cmGetExpr, cmRunExpr,
CmState, emptyCmState -- abstract
data PersistentCMState
= PersistentCMState {
hst :: HomeSymbolTable, -- home symbol table
- hit :: HomeInterfaceTable, -- home interface table
+ hit :: HomeIfaceTable, -- home interface table
ui :: UnlinkedImages, -- the unlinked images
mg :: ModuleGraph -- the module graph
}
hst = emptyHST, hit = emptyHIT,
ui = emptyUI, mg = emptyMG }
-emptyHIT :: HomeInterfaceTable
+emptyHIT :: HomeIfaceTable
emptyHIT = emptyFM
emptyHST :: HomeSymbolTable
emptyHST = emptyFM
-- then generate version 2's by removing from HIT,HST,UI any
-- modules in the old MG which are not in the new one.
+ -- TODO: call newFinder to reestablish home module cache?!
+
putStr "cmLoadModule: downsweep begins\n"
mg2unsorted <- downsweep modname finderr
putStrLn (showSDoc (vcat (map ppr mg2unsorted)))
if null newHomeSummaries
then return homeSummaries
else loop (newHomeSummaries ++ homeSummaries)
-
+#endif
\end{code}