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

Bookhound.Parser

Documentation

data Parser a Source #

Instances

Instances details
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 #

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

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

check :: String -> (a -> Bool) -> Parser a -> Parser a Source #

anyOf :: [Parser a] -> Parser a Source #

allOf :: [Parser a] -> Parser a Source #

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