[project @ 2000-12-07 08:22:53 by simonpj]
[ghc-hetmet.git] / ghc / compiler / main / HscMain.lhs
index 0cb3d42..aa407b1 100644 (file)
@@ -18,6 +18,7 @@ import StringBuffer   ( stringToStringBuffer, freeStringBuffer )
 import Unique          ( Uniquable(..) )
 import Type            ( splitTyConApp_maybe )
 import PrelNames       ( ioTyConKey )
+import ByteCodeGen     ( byteCodeGen )
 #endif
 
 import HsSyn
@@ -26,7 +27,7 @@ import StringBuffer   ( hGetStringBuffer )
 import Parser
 import Lex             ( PState(..), ParseResult(..) )
 import SrcLoc          ( mkSrcLoc )
-import Rename
+import Rename          ( checkOldIface, renameModule, renameExpr, closeIfaceDecls )
 import Rules           ( emptyRuleBase )
 import PrelInfo                ( wiredInThingEnv, wiredInThings )
 import PrelNames       ( knownKeyNames )
@@ -140,7 +141,7 @@ hscNoRecomp ghci_mode dflags location (Just old_iface) hst hit pcs_ch
  | ghci_mode == OneShot
  = do {
       hPutStrLn stderr "compilation IS NOT required";
-      let bomb = panic "hscNoRecomp:OneShot";
+      let { bomb = panic "hscNoRecomp:OneShot" };
       return (HscNoRecomp pcs_ch bomb bomb)
       }
  | otherwise
@@ -372,6 +373,9 @@ myCoreToStg dflags this_mod tidy_binds
       -- simplifier, which for reasons I don't understand, persists
       -- thoroughout code generation
 
+      --let bcos = byteCodeGen tidy_binds
+      --putStrLn (showSDoc (vcat (map ppr bcos)))
+
       -- _scc_     "Core2Stg"
       stg_binds <- coreToStg dflags this_mod tidy_binds
 
@@ -456,7 +460,7 @@ hscExpr dflags hst hit pcs0 this_module expr
        sat_expr <- coreSatExpr dflags simpl_expr;
 
                -- Convert to STG
-       stg_expr <- coreToStgExpr dflags sat_expr;
+       let stg_expr = coreExprToStg sat_expr;
 
                -- ToDo: need to do SRTs?
 
@@ -521,12 +525,12 @@ initPersistentCompilerState
 initPersistentRenamerState :: IO PersistentRenamerState
   = do ns <- mkSplitUniqSupply 'r'
        return (
-        PRS { prsOrig  = Orig { origNames  = initOrigNames,
+        PRS { prsOrig  = Orig { origNS    = ns,
+                               origNames  = initOrigNames,
                                origIParam = emptyFM },
              prsDecls = (emptyNameEnv, 0),
              prsInsts = (emptyBag, 0),
-             prsRules = (emptyBag, 0),
-             prsNS    = ns
+             prsRules = (emptyBag, 0)
             }
         )