On 5/30/10 1:40 AM, Michael Snoyman wrote:


On Sun, May 30, 2010 at 11:35 AM, Michael Vanier <mvanie...@gmail.com <mailto:mvanie...@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
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to