chatty-0.6.4.1: Some monad transformers and typeclasses for abstraction of global dependencies.

Safe HaskellSafe
LanguageHaskell2010

Text.Chatty.Scanner.Buffered

Description

Provides a typeclass for buffered scanners as well as a buffering monad transformer.

Synopsis

Documentation

class ChBufferedScanner m => ChStackBufferedScanner m where Source

Typeclass for all BufferedScanners with support for pushing and popping.

Methods

mpush :: m () Source

Push the current input state to the stack.

mpop :: m () Source

Pop the previous input state from the stack.

newtype ScannerBufferT m a Source

A buffering MonadScanner transformer that lets you use mpeek1 and mprepend everywhere.

Constructors

ScannerBuffer 

Fields

runScannerBufferT :: [String] -> m (a, [String])