[clean up and speed up node traversal some more.
John Meacham <john@repetae.net>**20090808075640
 Ignore-this: d8b2c53616e1ffba5b3e71572b2c751b
] hunk ./src/Ho/Build.hs 256
-    = CompHo (Maybe String)  HoHeader HoIDeps Ho
+    = CompHo HoHeader HoIDeps Ho
hunk ./src/Ho/Build.hs 259
-    | CompTcError
hunk ./src/Ho/Build.hs 278
-    providesModules (CompHo _ _ hoh _)   = providesModules hoh
+    providesModules (CompHo _ hoh _)   = providesModules hoh
hunk ./src/Ho/Build.hs 280
---    providesModules CompPhony        = []
- --   providesModules (CompCollected _ cu) = providesModules cu
hunk ./src/Ho/Build.hs 293
-showCUnit (hash,(deps,cu)) = printf "%s : %s" (show hash) (show deps)  ++ "\n" ++ f cu where
-    f (CompHo (Just s) _ _ _) = s
-    f (CompHo _ _ _ _) = "ho"
-    f (CompSources ss) = show $ map sourceIdent ss
-
-
hunk ./src/Ho/Build.hs 349
-                        let lib = case ".ho" `isSuffixOf` fp of
-                                    True  -> Nothing
-                                    False -> Just fp
-                        modifyIORef cug_ref ((h,(hoModDepends idep,CompHo lib hoh idep ho)):)
+                        modifyIORef cug_ref ((h,(hoModDepends idep,CompHo hoh idep ho)):)
hunk ./src/Ho/Build.hs 422
+
hunk ./src/Ho/Build.hs 443
+
hunk ./src/Ho/Build.hs 450
-                ds <- mapM countNodes deps
+                ds <- mapM h deps
hunk ./src/Ho/Build.hs 453
-        g cn =  case cn of
+        g cn = case cn of
hunk ./src/Ho/Build.hs 459
-            CompTCed (_,_,_,ss)   -> return $ Set.fromList ss
-            CompHo _ hoh idep _  -> do
-                return $ Set.fromList (map (show.fst) (hoDepends idep))
-            CompSources sc    -> do
+            CompTCed (_,_,_,ss) -> return $ Set.fromList ss
+            CompHo {} -> return Set.empty
+            --CompHo hoh idep _   -> do
+            --    return $ Set.fromList (map (show.fst) (hoDepends idep))
+            CompSources sc      -> do
hunk ./src/Ho/Build.hs 467
--- typechecking, this goes through and typechecks everything. It returns 'True' if there were errors.
-typeCheckGraph :: CompNode -> IO HoTcInfo
+typeCheckGraph :: CompNode -> IO ()
hunk ./src/Ho/Build.hs 470
-    let tickProgress = modifyMVar cur $ \val -> return (val+1,val)
hunk ./src/Ho/Build.hs 473
+        tickProgress = modifyMVar cur $ \val -> return (val+1,val)
hunk ./src/Ho/Build.hs 481
-                CompTcError -> error "comptcerror"
-                CompHo _ hoh idep ho  -> do
+                CompHo hoh idep ho  -> do
hunk ./src/Ho/Build.hs 483
-                    forM_ (hoDepends idep) $ \_ -> tickProgress
hunk ./src/Ho/Build.hs 500
+    return ()
hunk ./src/Ho/Build.hs 524
-                cn@(CompHo _ hoh idep ho) -> do
+                cn@(CompHo hoh idep ho) -> do
hunk ./src/Ho/Build.hs 526
-                    forM_ (hoDepends idep) $ \_ -> tickProgress
hunk ./src/Ho/Build.hs 552
-                    writeIORef ref (CompCollected cho' (CompLinkUnit $ CompHo Nothing hoh idep newHo))
+                    writeIORef ref (CompCollected cho' (CompLinkUnit $ CompHo hoh idep newHo))