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

Safe HaskellSafe
LanguageHaskell2010

Text.Chatty.Channel.Printer

Description

Provides a printer class that offers several channels.

Synopsis

Documentation

class (ChPrinter m, Eq c) => ChChannelPrinter c m where Source

Typeclass for all printers that offer several channels.

Minimal complete definition

cstart, cfin, cthis

Methods

cbracket :: c -> m a -> m a Source

Run the function with the given channel.

cstart :: c -> m () Source

Switch to the given channel

cfin :: c -> m () Source

Return to the previous channel. The argument is bogus (just for type inference).

cprint :: c -> String -> m () Source

Print the string to the given channel.

cthis :: m c Source

Return the current channel.

Instances

ChChannelPrinter Bool m0 => ChChannelPrinter Bool (AtomStoreT m) 
ChChannelPrinter Bool m0 => ChChannelPrinter Bool (CounterT m) 
ChChannelPrinter Bool m0 => ChChannelPrinter Bool (HandleCloserT m) 
ChChannelPrinter Bool m0 => ChChannelPrinter Bool (InRedirT m) 
ChChannelPrinter Bool m0 => ChChannelPrinter Bool (QuietT m) 
ChChannelPrinter Bool m0 => ChChannelPrinter Bool (HereStringT m) 
ChChannelPrinter Bool m0 => ChChannelPrinter Bool (ScannerBufferT m) 
ChChannelPrinter Bool m0 => ChChannelPrinter Bool (SpawnOverlayT m) 
ChChannelPrinter Bool m0 => ChChannelPrinter Bool (NullFsT m) 
ChChannelPrinter Bool m0 => ChChannelPrinter Bool (NullExpanderT m) 
ChChannelPrinter Bool m0 => ChChannelPrinter Bool (ExpanderT m) 
ChChannelPrinter Bool m0 => ChChannelPrinter Bool (HistoryT m) 
ChChannelPrinter Bool m0 => ChChannelPrinter Bool (HtmlPrinterT m) 
ChChannelPrinter Bool m0 => ChChannelPrinter Bool (AnsiPrinterT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (AtomStoreT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (CounterT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (HandleCloserT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (InRedirT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (QuietT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (HereStringT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (ScannerBufferT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (SpawnOverlayT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (NullFsT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (NullExpanderT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (ExpanderT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (HistoryT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (HtmlPrinterT m) 
ChChannelPrinter Int m0 => ChChannelPrinter Int (AnsiPrinterT m) 
(Eq c, ChPrinter m) => ChChannelPrinter c (JoinerT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (AtomStoreT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (CounterT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (HandleCloserT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (InRedirT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (QuietT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (HereStringT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (ScannerBufferT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (SpawnOverlayT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (NullFsT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (NullExpanderT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (ExpanderT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (HistoryT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (HtmlPrinterT m) 
ChChannelPrinter Handle m0 => ChChannelPrinter Handle (AnsiPrinterT m) 
(Eq c, ChPrinter m) => ChChannelPrinter c (FilterT c m) 
(Eq c, Monad m) => ChChannelPrinter c (ArchiverT c m) 

newtype ArchiverT c m a Source

Catches all output on multiple channels.

Constructors

Archiver 

Fields

runArchiverT' :: ([(c, [String])], [c]) -> m (a, ([(c, [String])], [c]))
 

Instances

(Eq c, Monad m) => ChChannelPrinter c (ArchiverT c m) 
ChAtoms m0 => ChAtoms (HandleArchiverT m) 
ChAtoms m0 => ChAtoms (BoolArchiverT m) 
ChAtoms m0 => ChAtoms (IntArchiverT m) 
ChCounter m0 => ChCounter (HandleArchiverT m) 
ChCounter m0 => ChCounter (BoolArchiverT m) 
ChCounter m0 => ChCounter (IntArchiverT m) 
MonadTrans (ArchiverT c) 
ChRandom m0 => ChRandom (HandleArchiverT m) 
ChRandom m0 => ChRandom (BoolArchiverT m) 
ChRandom m0 => ChRandom (IntArchiverT m) 
ChClock m0 => ChClock (HandleArchiverT m) 
ChClock m0 => ChClock (BoolArchiverT m) 
ChClock m0 => ChClock (IntArchiverT m) 
ChFinalizer m0 => ChFinalizer (HandleArchiverT m) 
ChFinalizer m0 => ChFinalizer (BoolArchiverT m) 
ChFinalizer m0 => ChFinalizer (IntArchiverT m) 
ChScanner m0 => ChScanner (HandleArchiverT m) 
ChScanner m0 => ChScanner (BoolArchiverT m) 
ChScanner m0 => ChScanner (IntArchiverT m) 
ChSpawn m0 => ChSpawn (HandleArchiverT m) 
ChSpawn m0 => ChSpawn (BoolArchiverT m) 
ChSpawn m0 => ChSpawn (IntArchiverT m) 
(ChAtoms (HandleArchiverT m0), ChFilesystem m0) => ChFilesystem (HandleArchiverT m) 
(ChAtoms (BoolArchiverT m0), ChFilesystem m0) => ChFilesystem (BoolArchiverT m) 
(ChAtoms (IntArchiverT m0), ChFilesystem m0) => ChFilesystem (IntArchiverT m) 
ChExpand m0 => ChExpand (HandleArchiverT m) 
ChExpand m0 => ChExpand (BoolArchiverT m) 
ChExpand m0 => ChExpand (IntArchiverT m) 
ChExpanderEnv m0 => ChExpanderEnv (HandleArchiverT m) 
ChExpanderEnv m0 => ChExpanderEnv (BoolArchiverT m) 
ChExpanderEnv m0 => ChExpanderEnv (IntArchiverT m) 
ChHistoryEnv m0 => ChHistoryEnv (HandleArchiverT m) 
ChHistoryEnv m0 => ChHistoryEnv (BoolArchiverT m) 
ChHistoryEnv m0 => ChHistoryEnv (IntArchiverT m) 
CanMount m0 n0 => CanMount (HandleArchiverT m) n 
CanMount m0 n0 => CanMount (BoolArchiverT m) n 
CanMount m0 n0 => CanMount (IntArchiverT m) n 
CanSave m0 n0 => CanSave (HandleArchiverT m) n 
CanSave m0 n0 => CanSave (BoolArchiverT m) n 
CanSave m0 n0 => CanSave (IntArchiverT m) n 
CanLoad m0 n0 => CanLoad (HandleArchiverT m) n 
CanLoad m0 n0 => CanLoad (BoolArchiverT m) n 
CanLoad m0 n0 => CanLoad (IntArchiverT m) n 
Monad m => Monad (ArchiverT c m) 
Monad m => Functor (ArchiverT c m) 
Monad m => Applicative (ArchiverT c m) 
MonadIO m => MonadIO (ArchiverT c m) 
(Eq c, Monad m) => ChPrinter (ArchiverT c m) 

runArchiverT :: (Eq c, Monad m) => c -> ArchiverT c m a -> m (a, [(c, Replayable)]) Source

newtype FilterT c m a Source

Forwards output only on a specific channel.

Constructors

Filter 

Fields

runFilterT :: (c, [c]) -> m (a, [c])
 

Instances

(Eq c, ChPrinter m) => ChChannelPrinter c (FilterT c m) 
ChAtoms m0 => ChAtoms (HandleFilterT m) 
ChAtoms m0 => ChAtoms (BoolFilterT m) 
ChAtoms m0 => ChAtoms (IntFilterT m) 
ChCounter m0 => ChCounter (HandleFilterT m) 
ChCounter m0 => ChCounter (BoolFilterT m) 
ChCounter m0 => ChCounter (IntFilterT m) 
MonadTrans (FilterT c) 
ChRandom m0 => ChRandom (HandleFilterT m) 
ChRandom m0 => ChRandom (BoolFilterT m) 
ChRandom m0 => ChRandom (IntFilterT m) 
ChClock m0 => ChClock (HandleFilterT m) 
ChClock m0 => ChClock (BoolFilterT m) 
ChClock m0 => ChClock (IntFilterT m) 
ChFinalizer m0 => ChFinalizer (HandleFilterT m) 
ChFinalizer m0 => ChFinalizer (BoolFilterT m) 
ChFinalizer m0 => ChFinalizer (IntFilterT m) 
ChScanner m0 => ChScanner (HandleFilterT m) 
ChScanner m0 => ChScanner (BoolFilterT m) 
ChScanner m0 => ChScanner (IntFilterT m) 
ChSpawn m0 => ChSpawn (HandleFilterT m) 
ChSpawn m0 => ChSpawn (BoolFilterT m) 
ChSpawn m0 => ChSpawn (IntFilterT m) 
(ChAtoms (HandleFilterT m0), ChFilesystem m0) => ChFilesystem (HandleFilterT m) 
(ChAtoms (BoolFilterT m0), ChFilesystem m0) => ChFilesystem (BoolFilterT m) 
(ChAtoms (IntFilterT m0), ChFilesystem m0) => ChFilesystem (IntFilterT m) 
ChExpand m0 => ChExpand (HandleFilterT m) 
ChExpand m0 => ChExpand (BoolFilterT m) 
ChExpand m0 => ChExpand (IntFilterT m) 
ChExpanderEnv m0 => ChExpanderEnv (HandleFilterT m) 
ChExpanderEnv m0 => ChExpanderEnv (BoolFilterT m) 
ChExpanderEnv m0 => ChExpanderEnv (IntFilterT m) 
ChHistoryEnv m0 => ChHistoryEnv (HandleFilterT m) 
ChHistoryEnv m0 => ChHistoryEnv (BoolFilterT m) 
ChHistoryEnv m0 => ChHistoryEnv (IntFilterT m) 
CanMount m0 n0 => CanMount (HandleFilterT m) n 
CanMount m0 n0 => CanMount (BoolFilterT m) n 
CanMount m0 n0 => CanMount (IntFilterT m) n 
CanSave m0 n0 => CanSave (HandleFilterT m) n 
CanSave m0 n0 => CanSave (BoolFilterT m) n 
CanSave m0 n0 => CanSave (IntFilterT m) n 
CanLoad m0 n0 => CanLoad (HandleFilterT m) n 
CanLoad m0 n0 => CanLoad (BoolFilterT m) n 
CanLoad m0 n0 => CanLoad (IntFilterT m) n 
Monad m => Monad (FilterT c m) 
Monad m => Functor (FilterT c m) 
Monad m => Applicative (FilterT c m) 
MonadIO m => MonadIO (FilterT c m) 
(Eq c, ChPrinter m) => ChPrinter (FilterT c m) 

newtype JoinerT m a Source

Joins all output regardless of its channel.

Constructors

Joiner 

Fields

runJoinerT :: m a