Maintainer | Thomas Hallgren |
---|---|
Safe Haskell | Safe |
Parsing
Contents
Description
A Simple Monadic Parsing Library
Used in the course Functional Programming GU/Chalmers.
Original author: David Sands.
- data Parser a
- parse :: Parser a -> String -> Maybe (a, String)
- sat :: (Char -> Bool) -> Parser Char
- item :: Parser Char
- digit :: Parser Char
- readsP :: Read a => Parser a
- char :: Char -> Parser Char
- failure :: Parser a
- oneOrMore :: Parser a -> Parser [a]
- zeroOrMore :: Parser a -> Parser [a]
- chain :: Parser a -> Parser b -> Parser [a]
- (<:>) :: Parser a -> Parser [a] -> Parser [a]
- (<|>) :: Alternative f => forall a. f a -> f a -> f a
- (<$>) :: Functor f => (a -> b) -> f a -> f b
- (<*>) :: Applicative f => forall a b. f (a -> b) -> f a -> f b
- (<*) :: Applicative f => forall a b. f a -> f b -> f a
- (*>) :: Applicative f => forall a b. f a -> f b -> f b
- return :: Monad m => forall a. a -> m a
The Parser type
The abstract data type representing a Parser
parse :: Parser a -> String -> Maybe (a, String) Source #
Runs the parser on the given string to return maybe a thing and a string
Basic parsers
readsP :: Read a => Parser a Source #
A parser for anything in the Read class, satisfying
parse readsP s == listToMaybe (reads s)
Combining parsers
zeroOrMore :: Parser a -> Parser [a] Source #
Parse zero or more things
(<:>) :: Parser a -> Parser [a] -> Parser [a] Source #
Parse a thing, then parse a list of things, and return the first thing followed by the list of things