Is this idiomatic use of Text.Parsec?
haskell, parsec
Solution
That's fine, I think. A little judicious naming would make it prettier:
category = concat <$> many1 segment
where
segment = (:) <$> char '/' <*> many1 (noneOf "/\n")
Problem
My use of `Text.Parsec` is a little rusty. If I just want to return the matched string is this idiomatic? ``` category :: Stream s m Char => ParsecT s u m [Char] category = concat <$> (many1 $ (:) <$> char '/' <*> (many1 $ noneOf "/\n")) ``` I feel like there might be an existing operator for `liftM concat . many1` or `(:) <$> p1 <*> p2` that I'm ignoring, but I'm not sure.