cifl-math-library-1.1.1.0: Math libraries
Safe HaskellTrustworthy
LanguageHaskell2010

Math.Tools.ParseMonad

Documentation

data ParseResult a Source #

Instances

Instances details
Functor ParseResult Source # 
Instance details

Defined in Math.Tools.ParseMonad

Methods

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

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

PpShowF ParseResult Source # 
Instance details

Defined in Math.Tools.ParseMonad

Methods

ppf :: PpShow a => ParseResult a -> Doc Source #

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

Defined in Math.Tools.ParseMonad

PpShow x => PpShow (ParseResult x) Source # 
Instance details

Defined in Math.Tools.ParseMonad

Methods

pp :: ParseResult x -> Doc Source #

Visitor (ParseResult a) Source # 
Instance details

Defined in Math.Tools.ParseMonad

Associated Types

data Fold (ParseResult a) :: Type -> Type Source #

Methods

visit :: Fold (ParseResult a) a0 -> ParseResult a -> a0 Source #

data Fold (ParseResult a) b Source # 
Instance details

Defined in Math.Tools.ParseMonad

data Fold (ParseResult a) b = ParseResultFold (Text -> LineInfo -> a -> b) (LineInfo -> Doc -> b) (LineInfo -> Doc -> b)

newtype ParseM a Source #

Constructors

ParseM (Text -> LineInfo -> ParseResult a) 

Instances

Instances details
MonadFail ParseM Source # 
Instance details

Defined in Math.Tools.ParseMonad

Methods

fail :: String -> ParseM a #

Alternative ParseM Source # 
Instance details

Defined in Math.Tools.ParseMonad

Methods

empty :: ParseM a #

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

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

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

Applicative ParseM Source # 
Instance details

Defined in Math.Tools.ParseMonad

Methods

pure :: a -> ParseM a #

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

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

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

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

Functor ParseM Source # 
Instance details

Defined in Math.Tools.ParseMonad

Methods

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

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

Monad ParseM Source # 
Instance details

Defined in Math.Tools.ParseMonad

Methods

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

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

return :: a -> ParseM a #

MonadPlus ParseM Source # 
Instance details

Defined in Math.Tools.ParseMonad

Methods

mzero :: ParseM a #

mplus :: ParseM a -> ParseM a -> ParseM a #

ParserCombinators ParseM Source # 
Instance details

Defined in Math.Tools.ParseMonad

MonadError Doc ParseM Source # 
Instance details

Defined in Math.Tools.ParseMonad

Methods

throwError :: Doc -> ParseM a #

catchError :: ParseM a -> (Doc -> ParseM a) -> ParseM a #

MonadReader (Text, LineInfo) ParseM Source # 
Instance details

Defined in Math.Tools.ParseMonad

Methods

ask :: ParseM (Text, LineInfo) #

local :: ((Text, LineInfo) -> (Text, LineInfo)) -> ParseM a -> ParseM a #

reader :: ((Text, LineInfo) -> a) -> ParseM a #

MonadWriter (Text, LineInfo) ParseM Source # 
Instance details

Defined in Math.Tools.ParseMonad

Methods

writer :: (a, (Text, LineInfo)) -> ParseM a #

tell :: (Text, LineInfo) -> ParseM () #

listen :: ParseM a -> ParseM (a, (Text, LineInfo)) #

pass :: ParseM (a, (Text, LineInfo) -> (Text, LineInfo)) -> ParseM a #