, many1 -- Parser a -> Parser [a]
, manyTill -- Parser a -> Parser end -> Parser [a]
, many1Till -- Parser a -> Parser end -> Parser [a]
+ , count -- Int -> Parser a -> Parser [a]
, option -- a -> Parser a -> Parser a
, sepBy -- Parser a -> Parser sep -> Parser [a]
, sepBy1 -- Parser a -> Parser sep -> Parser [a]
return x
+count :: Int -> Parser a -> Parser [a]
+count 0 _ = return []
+count n p = do x <- p
+ xs <- count (n-1) p
+ return (x:xs)
+
+
option :: a -> Parser a -> Parser a
option def p = p <|> return def