|
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 |