Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
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 ChScanner
s.
Scan the next character without removing it.
mprepend :: String -> m () Source
Prepend the given character to the scannable input.
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 BufferedScanner
s with support for pushing and popping.
Push the current input state to the stack.
Pop the previous input state from the stack.
newtype ScannerBufferT m a Source
ScannerBuffer | |
|
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 |