[project @ 1997-10-05 21:32:07 by sof]
authorsof <unknown>
Sun, 5 Oct 1997 21:32:07 +0000 (21:32 +0000)
committersof <unknown>
Sun, 5 Oct 1997 21:32:07 +0000 (21:32 +0000)
Added missing zipWithM_

ghc/lib/required/Monad.lhs

index 6389b91..2be1dba 100644 (file)
@@ -18,6 +18,7 @@ module Monad (
     join,           -- :: (Monad m) => m (m a) -> m a
     mapAndUnzipM,   -- :: (Monad m) => (a -> m (b,c)) -> [a] -> m ([b], [c])
     zipWithM,       -- :: (Monad m) => (a -> b -> m c) -> [a] -> [b] -> m [c]
+    zipWithM_,     -- :: (Monad m) => (a -> b -> m c) -> [a] -> [b] -> m ()
     foldM,          -- :: (Monad m) => (a -> b -> m a) -> a -> [b] -> m a 
     when,           -- :: (Monad m) => Bool -> m () -> m ()
     unless,         -- :: (Monad m) => Bool -> m () -> m ()
@@ -86,6 +87,9 @@ mapAndUnzipM f xs = accumulate (map f xs) >>= return . unzip
 zipWithM         :: (Monad m) => (a -> b -> m c) -> [a] -> [b] -> m [c]
 zipWithM f xs ys = accumulate (zipWith f xs ys)
 
+zipWithM_ :: (Monad m) => (a -> b -> m c) -> [a] -> [b] -> m ()
+zipWithM_ f xs ys = sequence (zipWith f xs ys)
+
 foldM            :: (Monad m) => (a -> b -> m a) -> a -> [b] -> m a
 foldM f a []     = return a
 foldM f a (x:xs) = f a x >>= \fax -> foldM f fax xs