import Text.Parsec
import Text.Parsec.String

main = do
parseTest myp "abc\ndef"
parseTest myp' "abc\ndef"

myp = do
ret <- many $ holdLine $ oneOf "abc\nde"
eof
return ret

string' s = mapM (holdLine . char) s

myp' = do
ret <- string' "abc\nde"
eof
return ret

holdLine parser = do
pos <- getPosition
ret <- parser
setPosition $ flip incSourceColumn 1
$ setSourceLine pos $ sourceLine pos
return ret