2 % (c) The AQUA Project, Glasgow University, 1993-2000
4 \section[CompManager]{The Compilation Manager}
7 module CompManager ( cmInit, cmLoadModule,
13 #include "HsVersions.h"
15 import Outputable ( SDoc )
17 import CmStaticInfo ( FLAGS, PCI, SI, mkSI )
18 import CmFind ( Finder, ModName )
19 import CmSummarise ( )
20 import CmCompile ( PCS, HST, HIT )
21 import CmLink ( PLS, HValue, Linkable )
29 = return (error "cmInit:unimp")
31 cmLoadModule :: CmState
33 -> IO (CmState, Either [SDoc] ModHandle)
34 cmLoadModule cmstate modname
35 = return (error "cmLoadModule:unimp")
40 -> IO (CmState, Either [SDoc] HValue)
41 cmGetExpr cmstate modhdl expr
42 = return (error "cmGetExpr:unimp")
44 cmRunExpr :: HValue -> IO ()
46 = return (error "cmRunExpr:unimp")
48 type ModHandle = String -- ToDo: do better?
51 -- Persistent state just for CM, excluding link & compile subsystems
53 = PCMS HST -- home symbol table
54 HIT -- home interface table
55 UI -- the unlinked images
56 MG -- the module graph
58 -- Persistent state for the entire system
60 = CmState PCMS -- CM's persistent state
61 PCS -- compile's persistent state
62 PLS -- link's persistent state
63 SI -- static info, never changes
64 Finder -- the module finder
67 type UI = [Linkable] -- the unlinked images (should be a set, really)
68 data MG = MG -- the module graph