
30 May
2010
30 May
'10
8:35 a.m.
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