
15 Aug
2012
15 Aug
'12
11:09 a.m.
On 15/08/12 17:01, José Lopes wrote:
someFn docs = return concat `ap` (sequence $ intersperse (return "\n") (map loop docs))
First of all, "return x `ap` y" = "x `fmap` y" or "x <$> y". fmap (or its infix synonym (<$>)) is the answer here, you could write: someFn docs = concat . intersperse "\n" <$> mapM loop docs The function Data.List.intercalate is a compation of concat and intersperse, so you could write: someFn docs = intercalate "\n" <$> mapM loop docs or, depending on your preference, someFn = fmap (intercalate "\n") . mapM loop Twan