[project @ 2000-10-17 09:01:26 by simonpj]
[ghc-hetmet.git] / ghc / compiler / main / HscMain.lhs
index 8de66e1..e9684bd 100644 (file)
@@ -98,7 +98,6 @@ hscMain flags core_cmds stg_cmds summary maybe_old_iface
        (ppSourceStats False rdr_module)                >>
 
     -- UniqueSupplies for later use (these are the only lower case uniques)
-    mkSplitUniqSupply 'r'      >>= \ rn_uniqs  -> -- renamer
     mkSplitUniqSupply 'd'      >>= \ ds_uniqs  -> -- desugarer
     mkSplitUniqSupply 'r'      >>= \ ru_uniqs  -> -- rules
     mkSplitUniqSupply 'c'      >>= \ c2s_uniqs -> -- core-to-stg
@@ -242,30 +241,28 @@ hscMain flags core_cmds stg_cmds summary maybe_old_iface
 \begin{code}
 initPersistentCompilerState :: PersistentCompilerState
 initPersistentCompilerState 
-  = PCS { pcsPST   = initPackageDetails,
-         pcsInsts = emptyInstEnv,
-         pcsRules = emptyRuleEnv,
-         pcsPRS   = initPersistentRenamerState }
+  = PCS { pcs_PST   = initPackageDetails,
+         pcs_insts = emptyInstEnv,
+         pcs_rules = emptyRuleEnv,
+         pcs_PRS   = initPersistentRenamerState }
 
 initPackageDetails :: PackageSymbolTable
-initPackageDetails = extendTypeEnv emptyModuleEnv (map ATyCon wiredInTyCons)
+initPackageDetails = extendTypeEnv emptyModuleEnv wiredInThings
 
 initPersistentRenamerState :: PersistentRenamerState
-  = PRS { prsNS    = NS { nsNames  = initRenamerNames,
-                         nsIParam = emptyFM },
+  = PRS { prsOrig  = Orig { origNames  = initOrigNames,
+                           origIParam = emptyFM },
          prsDecls = emptyNameEnv,
          prsInsts = emptyBag,
          prsRules = emptyBag
     }
 
-initRenamerNames :: FiniteMap (ModuleName,OccName) Name
-initRenamerNames = grag wiredIn_in `plusFM` listToFM known_key
-        where
-          wired_in = [ ((moduleName (nameModule name), nameOccName name), name)
-                     | name <- wiredInNames ]
-
-          known_key = [ ((rdrNameModule rdr_name, rdrNameOcc rdr_name), mkKnownKeyGlobal rdr_name uniq) 
-                      | (rdr_name, uniq) <- knownKeyRdrNames ]
+initOrigNames :: FiniteMap (ModuleName,OccName) Name
+initOrigNames = grab knownKeyNames `plusFM` grab wiredInNames
+             where
+               grab names   = foldl add emptyFM names
+               add env name = addToFM env (moduleName (nameModule name), nameOccName name) name
+\end{code}
 
 %************************************************************************
 %*                                                                     *