Skip to content
Snippets Groups Projects
Commit f972ba28 authored by sof's avatar sof
Browse files

[project @ 1997-10-05 21:32:07 by sof]

Added missing zipWithM_
parent 62df0f6c
No related merge requests found
......@@ -18,6 +18,7 @@ module Monad (
join, -- ::(Monadm)=>m(ma)->ma
mapAndUnzipM, -- ::(Monadm)=>(a->m(b,c))->[a]->m([b],[c])
zipWithM, -- ::(Monadm)=>(a->b->mc)->[a]->[b]->m[c]
zipWithM_, -- :: (Monad m) => (a -> b -> m c) -> [a] -> [b] -> m ()
foldM, -- ::(Monadm)=>(a->b->ma)->a->[b]->ma
when, -- ::(Monadm)=>Bool->m()->m()
unless, -- ::(Monadm)=>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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment