| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Text.Chatty.Scanner.Buffered
Description
Provides a typeclass for buffered scanners as well as a buffering monad transformer.
- class ChScanner m => ChBufferedScanner m where
- class ChBufferedScanner m => ChStackBufferedScanner m where
- newtype ScannerBufferT m a = ScannerBuffer {
- runScannerBufferT :: [String] -> m (a, [String])
Documentation
class ChScanner m => ChBufferedScanner m where Source
Typeclass for all buffered ChScanners.
Methods
Scan the next character without removing it.
mprepend :: String -> m () Source
Prepend the given character to the scannable input.
Instances
| Monad m => ChBufferedScanner (HereStringT m) Source | |
| ChScanner m => ChBufferedScanner (ScannerBufferT m) Source | |
| Monad m => ChBufferedScanner (StateT String m) Source |
class ChBufferedScanner m => ChStackBufferedScanner m where Source
Typeclass for all BufferedScanners with support for pushing and popping.
Methods
Push the current input state to the stack.
Pop the previous input state from the stack.
Instances
newtype ScannerBufferT m a Source
Constructors
| ScannerBuffer | |
Fields
| |
Instances
| MonadTrans ScannerBufferT Source | |
| Monad m => Monad (ScannerBufferT m) Source | |
| Monad m => Functor (ScannerBufferT m) Source | |
| Monad m => Applicative (ScannerBufferT m) Source | |
| MonadIO m => MonadIO (ScannerBufferT m) Source | |
| ChScanner m => ChScanner (ScannerBufferT m) Source | |
| ChScanner m => ChStackBufferedScanner (ScannerBufferT m) Source | |
| ChScanner m => ChBufferedScanner (ScannerBufferT m) Source |