add concatMapM to base in control.monad

Edward Kmett ekmett at gmail.com
Fri Feb 8 19:01:38 UTC 2019


I'm neutral to slightly negative on the proposal, but if one is going to
put it forth, this is a pretty crippled version of what the combinator
could be.
Switching liftM to fmap, and mapM to traverse gets you Applicative m.

There is no reason to limit this to Monad.

-Edward

On Fri, Feb 8, 2019 at 12:04 PM Carter Schonwald <carter.schonwald at gmail.com>
wrote:

> friend asked me to raise this
>
> previously https://ghc.haskell.org/trac/ghc/ticket/2042
> seems like it iddn't happen last time because base lived outside of ghc?
>
> -- | The 'concatMapM' function generalizes 'concatMap' to arbitrary monads.
> concatMapM        :: (Monad m) => (a -> m [b]) -> [a] -> m [b]
> concatMapM f xs   =  liftM concat (mapM f xs)
>
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20190208/2d986fe4/attachment.html>


More information about the Libraries mailing list