import Unique ( Uniquable(..) )
import Type ( splitTyConApp_maybe )
import PrelNames ( ioTyConKey )
+import ByteCodeGen ( byteCodeGen )
#endif
import HsSyn
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 )
| 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
-- 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
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?
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)
}
)