[don't perform fixups (annotate will take care of it) and don't store used ids in binary files on disk.
John Meacham <john@repetae.net>**20060409085659] hunk ./Ho/Build.hs 112
-    | m `Map.member` (hoExports have) = return have
-    | m `Map.member` (hoExports lhave) = return have
+    | m `mmember` (hoExports have) = return have
+    | m `mmember` (hoExports lhave) = return have
hunk ./Ho/Build.hs 129
-                mdeps = [ (m,dep) | m <- mods', Left dep <- Map.lookup m (hoModules ho)]
-                ldeps = Map.unions [ Map.singleton ln cs | m <- mods', Right (ln,cs) <- Map.lookup m (hoModules ho)]
+                mdeps = [ (m,dep) | m <- mods', Left dep <- mlookup m (hoModules ho)]
+                ldeps = unions [ msingleton ln cs | m <- mods', Right (ln,cs) <- mlookup m (hoModules ho)]
hunk ./Ho/Build.hs 195
-    putStrLn $ "Libraries depended on:" <+> pprint (sort $ Map.keys $ hoLibraries ho)
-    putStrLn $ "Modules contained:" <+> tshow (Map.keys $ hoExports ho)
+    putStrLn $ "Libraries depended on:" <+> pprint (sort $ mkeys $ hoLibraries ho)
+    putStrLn $ "Modules contained:" <+> tshow (mkeys $ hoExports ho)
hunk ./Ho/Build.hs 198
-    putStrLn $ "hoAssumps:" <+> tshow (Map.size $ hoAssumps ho)
+    putStrLn $ "hoAssumps:" <+> tshow (size $ hoAssumps ho)
hunk ./Ho/Build.hs 228
-        mapM_ (\ (v,lc) -> printCheckName'' (hoDataTable ho) v lc) (Map.elems $ hoEs ho)
+        mapM_ (\ (v,lc) -> printCheckName'' (hoDataTable ho) v lc) (melems $ hoEs ho)
hunk ./Ho/Build.hs 279
-            put bh (mapHoBodies eraseE ho { hoModules = mempty })
+            put bh (mapHoBodies eraseE ho { hoUsedIds = mempty, hoModules = mempty })
hunk ./Ho/Build.hs 329
-                            fixups <- readIORef fixup_ref
-                            let nfixups = getFixups ho' `mappend` fixups
-                            writeIORef fixup_ref nfixups
-                            modifyIORef ho_ref (applyFixups nfixups ho' `mappend`) >> hClose fh
+                            --fixups <- readIORef fixup_ref
+                            --let nfixups = getFixups ho' `mappend` fixups
+                            --writeIORef fixup_ref nfixups
+                            --modifyIORef ho_ref (applyFixups nfixups ho' `mappend`) >> hClose fh
+                            modifyIORef ho_ref ( ho' `mappend`) >> hClose fh
hunk ./Ho/Build.hs 341
-            case Map.lookup m (hoModules (initialHo `mappend` ho)) of
+            case mlookup m (hoModules (initialHo `mappend` ho)) of
hunk ./Ho/Build.hs 389
-mapHoBodies sm ho = ho { hoEs = Map.map f (hoEs ho) , hoRules =  runIdentity (E.Rules.mapBodies (return . sm) (hoRules ho)) } where
+mapHoBodies sm ho = ho { hoEs = fmap f (hoEs ho) , hoRules =  runIdentity (E.Rules.mapBodies (return . sm) (hoRules ho)) } where
hunk ./Ho/Build.hs 401
-getFixups ho = fromList [ (tvrIdent x,EVar x) | (x,_) <- Map.elems (hoEs ho)]
+getFixups ho = fromList [ (tvrIdent x,EVar x) | (x,_) <- melems (hoEs ho)]
hunk ./Ho/Build.hs 404
-applyFixups mie ho = ho { hoEs = Map.map f (hoEs ho) , hoRules =  runIdentity (E.Rules.mapBodies (return . sm) (hoRules ho)) } where
+applyFixups mie ho = ho { hoEs = fmap f (hoEs ho) , hoRules =  runIdentity (E.Rules.mapBodies (return . sm) (hoRules ho)) } where
hunk ./Ho/Build.hs 429
-hoToProgram ho = programSetDs (Map.elems $ hoEs ho) program {
+hoToProgram ho = programSetDs (melems $ hoEs ho) program {
hunk ./Ho/Library.hs 60
-    return $ fixupHo $ mconcat (initialHo : map libraryHo (Map.elems ps))
+    --return $ fixupHo $ mconcat (initialHo : map libraryHo (Map.elems ps))
+    return $ mconcat (initialHo : map libraryHo (Map.elems ps))
hunk ./Main.hs 176
-    return ho { hoEs = Map.fromList [ (runIdentity $ fromId (tvrIdent v),d) |  d@(v,_) <- ds' ] }
+    return ho { hoUsedIds = collectIds (ELetRec ds' Unknown), hoEs = Map.fromList [ (runIdentity $ fromId (tvrIdent v),d) |  d@(v,_) <- ds' ] }