Super-monster patch implementing the new typechecker -- at last
[ghc-hetmet.git] / compiler / utils / Digraph.lhs
index eadabda..2ed3933 100644 (file)
@@ -40,6 +40,7 @@ module Digraph(
 import Util        ( sortLe )
 import Outputable
 import Maybes      ( expectJust )
+import MonadUtils  ( allM )
 
 -- Extensions
 import Control.Monad    ( filterM, liftM, liftM2 )
@@ -75,7 +76,7 @@ Note [Nodes, keys, vertices]
 
 \begin{code}
 data Graph node = Graph { 
-    gr_int_graph :: IntGraph,
+    gr_int_graph      :: IntGraph,
     gr_vertex_to_node :: Vertex -> node,
     gr_node_to_vertex :: node -> Maybe Vertex
   }
@@ -588,8 +589,4 @@ vertexGroupsS provided g to_provide
 
 vertexReady :: Set s -> IntGraph -> Vertex -> ST s Bool
 vertexReady provided g v = liftM2 (&&) (liftM not $ provided `contains` v) (allM (provided `contains`) (g!v))
-
-allM :: Monad m => (a -> m Bool) -> [a] -> m Bool
-allM _ []     = return True
-allM f (b:bs) = (f b) >>= (\bv -> if bv then allM f bs else return False)
 \end{code}