Haskell Parsec комбинатор 'many' применяется к парсеру, который принимает пустую строку
import Text.ParserCombinators.Parsec
delimiter :: Parser ()
delimiter = do char '|'
return ()
"delimiter"
eol :: Parser ()
eol = do oneOf "\n\r"
return ()
"end of line"
item :: Parser String
item = do entry