| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Text.Chatty.Channel.Printer
Description
Provides a printer class that offers several channels.
- class (ChPrinter m, Eq c) => ChChannelPrinter c m where
- newtype ArchiverT c m a = Archiver {
- runArchiverT' :: ([(c, [String])], [c]) -> m (a, ([(c, [String])], [c]))
- type IntArchiverT = ArchiverT Int
- type BoolArchiverT = ArchiverT Bool
- type HandleArchiverT = ArchiverT Handle
- runArchiverT :: (Eq c, Monad m) => c -> ArchiverT c m a -> m (a, [(c, Replayable)])
- newtype FilterT c m a = Filter {
- runFilterT :: (c, [c]) -> m (a, [c])
- type IntFilterT = FilterT Int
- type BoolFilterT = FilterT Bool
- type HandleFilterT = FilterT Handle
- newtype JoinerT m a = Joiner {
- runJoinerT :: m a
Documentation
class (ChPrinter m, Eq c) => ChChannelPrinter c m where Source
Typeclass for all printers that offer several channels.
Methods
cbracket :: c -> m a -> m a Source
Run the function with the given channel.
Switch to the given channel
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.
Return the current channel.
Instances
| (Eq c, ChPrinter m) => ChChannelPrinter c (JoinerT m) Source | |
| (Eq c, ChPrinter m) => ChChannelPrinter c (FilterT c m) Source | |
| (Eq c, Monad m) => ChChannelPrinter c (ArchiverT c m) Source |
newtype ArchiverT c m a Source
Catches all output on multiple channels.
Constructors
| Archiver | |
Fields
| |
Instances
| (Eq c, Monad m) => ChChannelPrinter c (ArchiverT c m) Source | |
| MonadTrans (ArchiverT c) Source | |
| Monad m => Monad (ArchiverT c m) Source | |
| Monad m => Functor (ArchiverT c m) Source | |
| Monad m => Applicative (ArchiverT c m) Source | |
| MonadIO m => MonadIO (ArchiverT c m) Source | |
| (Eq c, Monad m) => ChPrinter (ArchiverT c m) Source |
type IntArchiverT = ArchiverT Int Source
type BoolArchiverT = ArchiverT Bool Source
type HandleArchiverT = ArchiverT Handle Source
runArchiverT :: (Eq c, Monad m) => c -> ArchiverT c m a -> m (a, [(c, Replayable)]) Source
Forwards output only on a specific channel.
Constructors
| Filter | |
Fields
| |
Instances
| (Eq c, ChPrinter m) => ChChannelPrinter c (FilterT c m) Source | |
| MonadTrans (FilterT c) Source | |
| Monad m => Monad (FilterT c m) Source | |
| Monad m => Functor (FilterT c m) Source | |
| Monad m => Applicative (FilterT c m) Source | |
| MonadIO m => MonadIO (FilterT c m) Source | |
| (Eq c, ChPrinter m) => ChPrinter (FilterT c m) Source |
type IntFilterT = FilterT Int Source
type BoolFilterT = FilterT Bool Source
type HandleFilterT = FilterT Handle Source
Joins all output regardless of its channel.
Constructors
| Joiner | |
Fields
| |
Instances
| MonadTrans JoinerT Source | |
| (Eq c, ChPrinter m) => ChChannelPrinter c (JoinerT m) Source | |
| Monad m => Monad (JoinerT m) Source | |
| Functor m => Functor (JoinerT m) Source | |
| (Functor m, Monad m) => Applicative (JoinerT m) Source | |
| MonadIO m => MonadIO (JoinerT m) Source | |
| ChPrinter m => ChPrinter (JoinerT m) Source |