[Haskell-cafe] name of this monadic combinator?
Michael Vanier
mvanier42 at gmail.com
Sun May 30 04:44:59 EDT 2010
On 5/30/10 1:40 AM, Michael Snoyman wrote:
>
>
> On Sun, May 30, 2010 at 11:35 AM, Michael Vanier <mvanier42 at gmail.com
> <mailto:mvanier42 at gmail.com>> wrote:
>
> I stumbled across this monadic combinator:
>
> mcombine :: Monad m => (a -> a -> a) -> m a -> m a -> m a
> mcombine f mx my = do
> x <- mx
> y <- my
> return (f x y)
>
> I used it to chain the outputs of two Parsec String parsers
> together using this operator:
>
> (<++>) :: Monad m => m String -> m String -> m String
> (<++>) = mcombine (++)
>
> mcombine seems like such a basic operation that it should be a
> library function, but I couldn't find one matching it on hoogle.
> Is there one?
>
> - Mike
>
> liftM2:
> http://hackage.haskell.org/packages/archive/base/4.2.0.1/doc/html/Control-Monad.html#v%3AliftM2
>
> Strangely, Hayoo didn't turn this one up... anyone know why?
>
> Michael
Ah, cool. Thanks!
- Mike
More information about the Haskell-Cafe
mailing list