{-# LANGUAGE BlockArguments #-} module Control.Monad.Cont.MiscYj where import Control.Monad.Cont mapContM :: (a -> (b -> m c) -> m c) -> [a] -> ([b] -> m c) -> m c mapContM :: forall a b (m :: * -> *) c. (a -> (b -> m c) -> m c) -> [a] -> ([b] -> m c) -> m c mapContM a -> (b -> m c) -> m c f = ContT c m [b] -> ([b] -> m c) -> m c forall {k} (r :: k) (m :: k -> *) a. ContT r m a -> (a -> m r) -> m r runContT (ContT c m [b] -> ([b] -> m c) -> m c) -> ([a] -> ContT c m [b]) -> [a] -> ([b] -> m c) -> m c forall b c a. (b -> c) -> (a -> b) -> a -> c . (a -> ContT c m b) -> [a] -> ContT c m [b] forall (t :: * -> *) (m :: * -> *) a b. (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b) forall (m :: * -> *) a b. Monad m => (a -> m b) -> [a] -> m [b] mapM (((b -> m c) -> m c) -> ContT c m b forall {k} (r :: k) (m :: k -> *) a. ((a -> m r) -> m r) -> ContT r m a ContT (((b -> m c) -> m c) -> ContT c m b) -> (a -> (b -> m c) -> m c) -> a -> ContT c m b forall b c a. (b -> c) -> (a -> b) -> a -> c . a -> (b -> m c) -> m c f)