bookhound-0.2.2: Simple Parser Combinators
Safe HaskellSafe-Inferred
LanguageHaskell2010

Bookhound.Parser

Synopsis

Documentation

data Parser a Source #

Instances

Instances details
Alternative Parser Source # 
Instance details

Defined in Bookhound.Parser

Methods

empty :: Parser a #

(<|>) :: Parser a -> Parser a -> Parser a #

some :: Parser a -> Parser [a] #

many :: Parser a -> Parser [a] #

Applicative Parser Source # 
Instance details

Defined in Bookhound.Parser

Methods

pure :: a -> Parser a #

(<*>) :: Parser (a -> b) -> Parser a -> Parser b #

liftA2 :: (a -> b -> c) -> Parser a -> Parser b -> Parser c #

(*>) :: Parser a -> Parser b -> Parser b #

(<*) :: Parser a -> Parser b -> Parser a #

Functor Parser Source # 
Instance details

Defined in Bookhound.Parser

Methods

fmap :: (a -> b) -> Parser a -> Parser b #

(<$) :: a -> Parser b -> Parser a #

Monad Parser Source # 
Instance details

Defined in Bookhound.Parser

Methods

(>>=) :: Parser a -> (a -> Parser b) -> Parser b #

(>>) :: Parser a -> Parser b -> Parser b #

return :: a -> Parser a #

MonadPlus Parser Source # 
Instance details

Defined in Bookhound.Parser

Methods

mzero :: Parser a #

mplus :: Parser a -> Parser a -> Parser a #

MonadError ParseError Parser Source # 
Instance details

Defined in Bookhound.Parser

Monoid a => Monoid (Parser a) Source # 
Instance details

Defined in Bookhound.Parser

Methods

mempty :: Parser a #

mappend :: Parser a -> Parser a -> Parser a #

mconcat :: [Parser a] -> Parser a #

Semigroup a => Semigroup (Parser a) Source # 
Instance details

Defined in Bookhound.Parser

Methods

(<>) :: Parser a -> Parser a -> Parser a #

sconcat :: NonEmpty (Parser a) -> Parser a #

stimes :: Integral b => b -> Parser a -> Parser a #

data ParseResult a Source #

Constructors

Result Input a 
Error ParseError 

Instances

Instances details
Functor ParseResult Source # 
Instance details

Defined in Bookhound.Parser

Methods

fmap :: (a -> b) -> ParseResult a -> ParseResult b #

(<$) :: a -> ParseResult b -> ParseResult a #

Show a => Show (ParseResult a) Source # 
Instance details

Defined in Bookhound.Parser

Eq a => Eq (ParseResult a) Source # 
Instance details

Defined in Bookhound.Parser

mkParser :: (Input -> ParseResult a) -> Parser a Source #

runParser :: Parser a -> Input -> Either [ParseError] a Source #

throwError :: MonadError e m => e -> m a #

Is used within a monadic computation to begin exception processing.

both :: Parser a -> Parser a -> Parser a Source #

choice :: Foldable f => f (Parser a) -> Parser a Source #

anyOf :: Foldable f => f (Parser a) -> Parser a Source #

allOf :: Foldable f => f (Parser a) -> Parser a Source #

satisfy :: (a -> Bool) -> Parser a -> Parser a Source #

withTransform :: (forall b. Parser b -> Parser b) -> Parser a -> Parser a Source #