Skip to content

Commit d6e05b6

Browse files
authored
Merge pull request #87 from haskell-works/new-interleaveForM-function
New interleaveForM function
2 parents d357854 + 23b1dcc commit d6e05b6

File tree

1 file changed

+5
-0
lines changed
  • src/HaskellWorks/Control/Monad

1 file changed

+5
-0
lines changed

src/HaskellWorks/Control/Monad/Lazy.hs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
{-# LANGUAGE BangPatterns #-}
2+
23
module HaskellWorks.Control.Monad.Lazy
34
( interleaveSequenceIO
45
, interleaveSequenceM
56
, interleaveUnfoldrM
67
, interleaveTraverseM
8+
, interleaveForM
79
) where
810

911
import Control.Monad.IO.Unlift
@@ -54,3 +56,6 @@ interleaveTraverseM f as = do
5456
!res <- unliftIO u (f v)
5557
rest <- IO.unsafeInterleaveIO (go u vs)
5658
pure (res:rest)
59+
60+
interleaveForM :: MonadUnliftIO m => [a] -> (a -> m b) -> m [b]
61+
interleaveForM = flip interleaveTraverseM

0 commit comments

Comments
 (0)