many package:parsers
manyTill p end applies parser 
p zero or more
times until parser 
end succeeds. Returns the list of values
returned by 
p. This parser can be used to scan comments:
simpleComment   = do{ string "<!--"
; manyTill anyChar (try (string "-->"))
}
Note the overlapping parsers 
anyChar and 
string
"-->", and therefore the use of the 
try combinator.
 A version of many that discards its input. Specialized because it can
often be implemented more cheaply.