|
| Text.Parsec.Iteratee.LinkedList | | Portability | portable | | Stability | none | | Maintainer | uzytkownik2@gmail.com |
|
|
|
| Description |
| Module providing simple implementation based on mutable linked list.
It is optimised for longer parsers.
|
|
| Synopsis |
|
| class Monad m => Reference r m where | | | | data (Monad m, Reference r m, StreamChunk c el) => Cursor r m c el | | | data (Monad m, Reference r m, StreamChunk c el) => NextCursor r m c el | | | mkCursor :: (Monad m, Reference r m, StreamChunk c el) => m (Cursor r m c el) | | | parsecIteratee :: (Monad m, Reference r m, StreamChunk c el) => ParsecT (Cursor r m c el) u (IterateeG c el m) a -> u -> SourceName -> IterateeG c el m (Either ParseError a) | | | safeParsecIteratee :: (Monad m, Reference r m, StreamChunk c el) => ParsecT (Cursor r m c el) u (IterateeG c el m) a -> u -> SourceName -> IterateeG c el m (Either ParseError a) |
|
|
| Documentation |
|
|
| Class notifing a reference in monad.
Probably should be in separate module.
| | | Methods | | | :: | | | => a | A new reference
| Reads a reference
| | -> m (r a) | | | Create new reference
|
| | | | :: | | | => r a | Value hold by reference
| Write to reference
| | -> m a | |
| | | | :: | | | => r a | New value
| | -> a | | | -> m () | |
| | | | :: | | | => r a | Computation
| | -> a -> m (a, b) | Result of computation
| | -> m b | | | Modify the reference. Default implementation is provided but it MUST be
overloaded if the reference is atomic to provide an atomic write
|
|
| | Instances | |
|
|
|
| Cursor holds current value and reference to possible next cursor
| Instances | |
|
|
|
| Specify the 3 possible states of next cursor - existence, non-existence
and not being evaluated
|
|
|
|
| Creates new cursor
|
|
|
|
|
|
|
|
| Produced by Haddock version 2.6.0 |