Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
Text.ParserCombinators.MTLParse
Synopsis
- class Monad m => MonadParse a m | m -> a where
- token :: (Eq a, MonadParse a m) => a -> m a
- tokenBack :: (Eq a, MonadParse a m) => a -> m a
- getsHere :: MonadParse a m => (([a], [a]) -> b) -> m b
- modifyHere :: MonadParse a m => (([a], [a]) -> ([a], [a])) -> m ()
- getForward :: MonadParse a m => m [a]
- getsForward :: MonadParse a m => ([a] -> [a]) -> m [a]
- putForward :: MonadParse a m => [a] -> m ()
- modifyForward :: MonadParse a m => ([a] -> [a]) -> m ()
- getBack :: MonadParse a m => m [a]
- getsBack :: MonadParse a m => ([a] -> [a]) -> m [a]
- putBack :: MonadParse a m => [a] -> m ()
- modifyBack :: MonadParse a m => ([a] -> [a]) -> m ()
- newtype Parse a b = Parse {
- runParse :: ([a], [a]) -> [(b, ([a], [a]))]
- evalParse :: Parse a b -> ([a], [a]) -> [b]
- execParse :: Parse a b -> ([a], [a]) -> [([a], [a])]
- mapParse :: ((b, ([a], [a])) -> (c, ([a], [a]))) -> Parse a b -> Parse a c
- withParse :: (([a], [a]) -> ([a], [a])) -> Parse a b -> Parse a b
- newtype ParseT a m b = ParseT {
- runParseT :: ([a], [a]) -> m [(b, ([a], [a]))]
- evalParseT :: Monad m => ParseT a m b -> ([a], [a]) -> m [b]
- execParseT :: Monad m => ParseT a m b -> ([a], [a]) -> m [([a], [a])]
- mapParseT :: (m [(b, ([a], [a]))] -> n [(c, ([a], [a]))]) -> ParseT a m b -> ParseT a n c
- withParseT :: (([a], [a]) -> ([a], [a])) -> ParseT a m b -> ParseT a m b
- class (Alternative m, Monad m) => MonadPlus (m :: Type -> Type) where
- liftM :: Monad m => (a1 -> r) -> m a1 -> m r
- ap :: Monad m => m (a -> b) -> m a -> m b
- class MonadTrans (t :: (Type -> Type) -> Type -> Type) where
- lift :: Monad m => m a -> t m a
- class Monad m => MonadIO (m :: Type -> Type) where
- liftIO :: IO a -> m a
- tokens :: (Eq a, MonadParse a m) => [a] -> m [a]
- tokensBack :: (Eq a, MonadParse a m) => [a] -> m [a]
- build :: Monad m => m a -> (a -> b) -> m b
- repeatParse :: MonadPlus m => Int -> Maybe Int -> m b -> m [b]
- optional :: MonadPlus m => m a -> m [a]
- list :: MonadPlus m => m a -> m [a]
- neList :: MonadPlus m => m a -> m [a]
- greedyRepeatParse :: MonadPlus m => Int -> Maybe Int -> m b -> m [b]
- greedyOptional :: MonadPlus m => m a -> m [a]
- greedyList :: MonadPlus m => m a -> m [a]
- greedyNeList :: MonadPlus m => m a -> m [a]
- beginningOfInput :: (MonadPlus m, MonadParse a m) => b -> m b
- endOfInput :: (MonadPlus m, MonadParse a m) => b -> m b
- apply2M :: Monad m => (a -> b -> c) -> m a -> m b -> m c
- (>++>) :: Monad m => m [a] -> m [a] -> m [a]
- (>:>) :: Monad m => m a -> m [a] -> m [a]
MonadParse class
class Monad m => MonadParse a m | m -> a where Source #
Methods
spot :: (a -> Bool) -> m a Source #
spotBack :: (a -> Bool) -> m a Source #
parseNot :: c -> m b -> m c Source #
getHere :: m ([a], [a]) Source #
putHere :: ([a], [a]) -> m () Source #
noBacktrack :: m b -> m b Source #
Instances
MonadParse a (Parse a) Source # | |
Defined in Text.ParserCombinators.MTLParse.MTLParseCore Methods spot :: (a -> Bool) -> Parse a a Source # spotBack :: (a -> Bool) -> Parse a a Source # still :: Parse a b -> Parse a b Source # parseNot :: c -> Parse a b -> Parse a c Source # getHere :: Parse a ([a], [a]) Source # putHere :: ([a], [a]) -> Parse a () Source # noBacktrack :: Parse a b -> Parse a b Source # | |
Monad m => MonadParse a (ParseT a m) Source # | |
Defined in Text.ParserCombinators.MTLParse.MTLParseCore Methods spot :: (a -> Bool) -> ParseT a m a Source # spotBack :: (a -> Bool) -> ParseT a m a Source # still :: ParseT a m b -> ParseT a m b Source # parseNot :: c -> ParseT a m b -> ParseT a m c Source # getHere :: ParseT a m ([a], [a]) Source # putHere :: ([a], [a]) -> ParseT a m () Source # noBacktrack :: ParseT a m b -> ParseT a m b Source # | |
MonadParse a m => MonadParse a (ReaderT s m) Source # | |
Defined in Text.ParserCombinators.MTLParse.MTLParseCore Methods spot :: (a -> Bool) -> ReaderT s m a Source # spotBack :: (a -> Bool) -> ReaderT s m a Source # still :: ReaderT s m b -> ReaderT s m b Source # parseNot :: c -> ReaderT s m b -> ReaderT s m c Source # getHere :: ReaderT s m ([a], [a]) Source # putHere :: ([a], [a]) -> ReaderT s m () Source # noBacktrack :: ReaderT s m b -> ReaderT s m b Source # | |
MonadParse a m => MonadParse a (StateT r m) Source # | |
Defined in Text.ParserCombinators.MTLParse.MTLParseCore Methods spot :: (a -> Bool) -> StateT r m a Source # spotBack :: (a -> Bool) -> StateT r m a Source # still :: StateT r m b -> StateT r m b Source # parseNot :: c -> StateT r m b -> StateT r m c Source # getHere :: StateT r m ([a], [a]) Source # putHere :: ([a], [a]) -> StateT r m () Source # noBacktrack :: StateT r m b -> StateT r m b Source # | |
(MonadParse a m, Monoid w) => MonadParse a (WriterT w m) Source # | |
Defined in Text.ParserCombinators.MTLParse.MTLParseCore Methods spot :: (a -> Bool) -> WriterT w m a Source # spotBack :: (a -> Bool) -> WriterT w m a Source # still :: WriterT w m b -> WriterT w m b Source # parseNot :: c -> WriterT w m b -> WriterT w m c Source # getHere :: WriterT w m ([a], [a]) Source # putHere :: ([a], [a]) -> WriterT w m () Source # noBacktrack :: WriterT w m b -> WriterT w m b Source # |
token :: (Eq a, MonadParse a m) => a -> m a Source #
tokenBack :: (Eq a, MonadParse a m) => a -> m a Source #
getsHere :: MonadParse a m => (([a], [a]) -> b) -> m b Source #
modifyHere :: MonadParse a m => (([a], [a]) -> ([a], [a])) -> m () Source #
getForward :: MonadParse a m => m [a] Source #
getsForward :: MonadParse a m => ([a] -> [a]) -> m [a] Source #
putForward :: MonadParse a m => [a] -> m () Source #
modifyForward :: MonadParse a m => ([a] -> [a]) -> m () Source #
getBack :: MonadParse a m => m [a] Source #
getsBack :: MonadParse a m => ([a] -> [a]) -> m [a] Source #
putBack :: MonadParse a m => [a] -> m () Source #
modifyBack :: MonadParse a m => ([a] -> [a]) -> m () Source #
The Parse Monad
A parse monad where a is the type of the token to parse and b is the type of the return value.
Instances
MonadParse a (Parse a) Source # | |
Defined in Text.ParserCombinators.MTLParse.MTLParseCore Methods spot :: (a -> Bool) -> Parse a a Source # spotBack :: (a -> Bool) -> Parse a a Source # still :: Parse a b -> Parse a b Source # parseNot :: c -> Parse a b -> Parse a c Source # getHere :: Parse a ([a], [a]) Source # putHere :: ([a], [a]) -> Parse a () Source # noBacktrack :: Parse a b -> Parse a b Source # | |
Alternative (Parse p) Source # | |
Applicative (Parse p) Source # | |
Functor (Parse p) Source # | |
Monad (Parse a) Source # | |
MonadPlus (Parse a) Source # | |
MonadReader ([a], [a]) (Parse a) Source # | |
MonadState ([a], [a]) (Parse a) Source # | |
The ParseT Monad
A parse monad for encaplulating an inner monad.
Instances
MonadWriter w m => MonadWriter w (ParseT a m) Source # | |
Monad m => MonadParse a (ParseT a m) Source # | |
Defined in Text.ParserCombinators.MTLParse.MTLParseCore Methods spot :: (a -> Bool) -> ParseT a m a Source # spotBack :: (a -> Bool) -> ParseT a m a Source # still :: ParseT a m b -> ParseT a m b Source # parseNot :: c -> ParseT a m b -> ParseT a m c Source # getHere :: ParseT a m ([a], [a]) Source # putHere :: ([a], [a]) -> ParseT a m () Source # noBacktrack :: ParseT a m b -> ParseT a m b Source # | |
MonadTrans (ParseT a) Source # | |
Defined in Text.ParserCombinators.MTLParse.MTLParseCore | |
MonadIO m => MonadIO (ParseT a m) Source # | |
Defined in Text.ParserCombinators.MTLParse.MTLParseCore | |
Monad m => Alternative (ParseT a m) Source # | |
Monad m => Applicative (ParseT a m) Source # | |
Defined in Text.ParserCombinators.MTLParse.MTLParseCore | |
Monad m => Functor (ParseT a m) Source # | |
Monad m => Monad (ParseT a m) Source # | |
Monad m => MonadPlus (ParseT a m) Source # | |
Monad m => MonadReader ([a], [a]) (ParseT a m) Source # | |
Monad m => MonadState ([a], [a]) (ParseT a m) Source # | |
evalParseT :: Monad m => ParseT a m b -> ([a], [a]) -> m [b] Source #
execParseT :: Monad m => ParseT a m b -> ([a], [a]) -> m [([a], [a])] Source #
withParseT :: (([a], [a]) -> ([a], [a])) -> ParseT a m b -> ParseT a m b Source #
class (Alternative m, Monad m) => MonadPlus (m :: Type -> Type) where #
Minimal complete definition
Nothing
Instances
MonadPlus P | |
Defined in Text.ParserCombinators.ReadP | |
MonadPlus ReadP | |
Defined in Text.ParserCombinators.ReadP | |
MonadPlus IO | |
MonadPlus Maybe | |
MonadPlus [] | |
(ArrowApply a, ArrowPlus a) => MonadPlus (ArrowMonad a) | |
Defined in Control.Arrow | |
MonadPlus (Parse a) Source # | |
MonadPlus m => MonadPlus (Kleisli m a) | |
Defined in Control.Arrow | |
MonadPlus f => MonadPlus (Ap f) | |
Defined in Data.Monoid | |
Monad m => MonadPlus (ParseT a m) Source # | |
(Monad m, Error e) => MonadPlus (ErrorT e m) | |
Defined in Control.Monad.Trans.Error | |
MonadPlus m => MonadPlus (ReaderT r m) | |
Defined in Control.Monad.Trans.Reader | |
MonadPlus m => MonadPlus (StateT s m) | |
Defined in Control.Monad.Trans.State.Lazy | |
(Monoid w, MonadPlus m) => MonadPlus (WriterT w m) | |
Defined in Control.Monad.Trans.Writer.Lazy |
class MonadTrans (t :: (Type -> Type) -> Type -> Type) where #
Instances
MonadTrans (ParseT a) Source # | |
Defined in Text.ParserCombinators.MTLParse.MTLParseCore | |
MonadTrans (ErrorT e) | |
Defined in Control.Monad.Trans.Error | |
MonadTrans (ReaderT r) | |
Defined in Control.Monad.Trans.Reader | |
MonadTrans (StateT s) | |
Defined in Control.Monad.Trans.State.Lazy | |
Monoid w => MonadTrans (WriterT w) | |
Defined in Control.Monad.Trans.Writer.Lazy |
class Monad m => MonadIO (m :: Type -> Type) where #
Instances
MonadIO IO | |
Defined in Control.Monad.IO.Class | |
MonadIO m => MonadIO (ParseT a m) Source # | |
Defined in Text.ParserCombinators.MTLParse.MTLParseCore | |
(Error e, MonadIO m) => MonadIO (ErrorT e m) | |
Defined in Control.Monad.Trans.Error | |
MonadIO m => MonadIO (ReaderT r m) | |
Defined in Control.Monad.Trans.Reader | |
MonadIO m => MonadIO (StateT s m) | |
Defined in Control.Monad.Trans.State.Lazy | |
(Monoid w, MonadIO m) => MonadIO (WriterT w m) | |
Defined in Control.Monad.Trans.Writer.Lazy |
tokens :: (Eq a, MonadParse a m) => [a] -> m [a] Source #
tokensBack :: (Eq a, MonadParse a m) => [a] -> m [a] Source #
repeatParse :: MonadPlus m => Int -> Maybe Int -> m b -> m [b] Source #
greedyRepeatParse :: MonadPlus m => Int -> Maybe Int -> m b -> m [b] Source #
greedyOptional :: MonadPlus m => m a -> m [a] Source #
greedyList :: MonadPlus m => m a -> m [a] Source #
greedyNeList :: MonadPlus m => m a -> m [a] Source #
beginningOfInput :: (MonadPlus m, MonadParse a m) => b -> m b Source #
endOfInput :: (MonadPlus m, MonadParse a m) => b -> m b Source #