|
| 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 | | | module Control.Monad | | | module Control.Monad.Trans | | | 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
|
|
|
| | Methods | | | | | | | | parseNot :: c -> m b -> m c | Source |
| | | | | | | noBacktrack :: m b -> m b | Source |
|
| | Instances | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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.
| | Constructors | | Parse | | | runParse :: ([a], [a]) -> [(b, ([a], [a]))] | |
|
| Instances | |
|
|
|
|
| execParse :: Parse a b -> ([a], [a]) -> [([a], [a])] | Source |
|
|
| mapParse :: ((b, ([a], [a])) -> (c, ([a], [a]))) -> Parse a b -> Parse a c | Source |
|
|
|
|
| The ParseT Monad
|
|
|
| A parse monad for encaplulating an inner monad.
| | Constructors | | ParseT | | | runParseT :: ([a], [a]) -> m [(b, ([a], [a]))] | |
|
| Instances | |
|
|
|
|
|
|
| mapParseT :: (m [(b, ([a], [a]))] -> n [(c, ([a], [a]))]) -> ParseT a m b -> ParseT a n c | Source |
|
|
|
|
| module Control.Monad |
|
| module Control.Monad.Trans |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| apply2M :: Monad m => (a -> b -> c) -> m a -> m b -> m c | Source |
|
|
|
|
|
|
| Produced by Haddock version 2.6.0 |