Safe Haskell | Safe-Inferred |
---|
Provides a typeclass for all monads that may print text.
- class Monad m => ChPrinter m where
- newtype DeafT m a = Deaf {
- runDeafT :: m a
- newtype OutRedirT m a = OutRedir {
- runOutRedirT' :: Handle -> m (a, Handle)
- type OutRedir = OutRedirT IO
- runOutRedirT :: Functor m => OutRedirT m a -> Handle -> m a
- runOutRedir :: OutRedir a -> Handle -> IO a
- runOutRedirFT :: (Functor m, MonadIO m) => OutRedirT m a -> FilePath -> IOMode -> m a
- runOutRedirF :: OutRedir a -> FilePath -> IOMode -> IO a
- newtype RecorderT m a = Recorder {
- runRecorderT' :: [String] -> m (a, [String])
- type Recorder = RecorderT Identity
- newtype Replayable = Replayable [String]
- replayM :: Monad m => m Replayable -> m String
- replay :: Replayable -> String
- replay_ :: Monad m => RecorderT m String
- runRecorder :: Recorder a -> (a, Replayable)
- runRecorderT :: (Functor m, Monad m) => RecorderT m a -> m (a, Replayable)
- mprintLn :: ChPrinter m => String -> m ()
- mnomaskLn :: ChPrinter m => String -> m ()
- data DiscardO = DiscardO
- data RecordO = RecordO
- class RedirectionTarget t mt a r | t -> mt, t a -> r where
Documentation
class Monad m => ChPrinter m whereSource
A typeclass for all monads that may output strings.
mprint :: String -> m ()Source
Just print it!
mnoecho :: String -> m ()Source
Print it, except you are IO.
Flush the buffer.
mnomask :: String -> m ()Source
Alternative to mprint that does not mask any characters (depends on the carrier).
ChPrinter IO | |
ChPrinter m0 => ChPrinter (HandleCloserT m0) | |
ChPrinter m0 => ChPrinter (InRedirT m0) | |
ChPrinter m0 => ChPrinter (QuietT m0) | |
ChPrinter m0 => ChPrinter (HereStringT m0) | |
ChPrinter m0 => ChPrinter (ScannerBufferT m0) | |
Monad m => ChPrinter (RecorderT m) | |
MonadIO m => ChPrinter (OutRedirT m) | |
Monad m => ChPrinter (DeafT m) | |
ChPrinter m0 => ChPrinter (SpawnOverlayT m0) | |
ChPrinter m => ChPrinter (JoinerT m) | |
ChAtoms m => ChPrinter (FilePrinterT m) | |
ChPrinter m0 => ChPrinter (NullExpanderT m0) | |
ChPrinter m0 => ChPrinter (ExpanderT m0) | |
ChPrinter m0 => ChPrinter (HistoryT m0) | |
ChPrinter m => ChPrinter (HtmlPrinterT m) | |
ChPrinter m => ChPrinter (AnsiPrinterT m) | |
Monad m => ChPrinter (StateT String m) | |
(Eq c, ChPrinter m) => ChPrinter (FilterT c m) | |
(Eq c, Monad m) => ChPrinter (ArchiverT c m) |
DeafT discards all output (much like >/dev/null in the shell)
MonadTrans DeafT | |
RedirectionTarget DiscardO DeafT a a | |
Monad m => Monad (DeafT m) | |
Functor m => Functor (DeafT m) | |
MonadIO m => MonadIO (DeafT m) | |
ChRandom m0 => ChRandom (DeafT m0) | |
ChClock m0 => ChClock (DeafT m0) | |
ChFinalizer m0 => ChFinalizer (DeafT m0) | |
ChScanner m0 => ChScanner (DeafT m0) | |
ChBufferedScanner m0 => ChBufferedScanner (DeafT m0) | |
Monad m => ChPrinter (DeafT m) | |
ChSpawn m0 => ChSpawn (DeafT m0) | |
ChExpand m0 => ChExpand (DeafT m0) | |
ChExpanderEnv m0 => ChExpanderEnv (DeafT m0) | |
ChHistoryEnv m0 => ChHistoryEnv (DeafT m0) |
Redirects all output to a given handle (much like >filename in the shell)
OutRedir | |
|
MonadTrans OutRedirT | |
RedirectionTarget Handle OutRedirT a a | |
RedirectionTarget FilePath OutRedirT a a | |
Monad m => Monad (OutRedirT m) | |
Monad m => Functor (OutRedirT m) | |
MonadIO m => MonadIO (OutRedirT m) | |
ChRandom m0 => ChRandom (OutRedirT m0) | |
ChClock m0 => ChClock (OutRedirT m0) | |
ChFinalizer m0 => ChFinalizer (OutRedirT m0) | |
ChScanner m0 => ChScanner (OutRedirT m0) | |
ChBufferedScanner m0 => ChBufferedScanner (OutRedirT m0) | |
MonadIO m => ChPrinter (OutRedirT m) | |
ChSpawn m0 => ChSpawn (OutRedirT m0) | |
ChExpand m0 => ChExpand (OutRedirT m0) | |
ChExpanderEnv m0 => ChExpanderEnv (OutRedirT m0) | |
ChHistoryEnv m0 => ChHistoryEnv (OutRedirT m0) |
Catches all output (much like VAR=$(...) in the shell)
Recorder | |
|
MonadTrans RecorderT | |
RedirectionTarget RecordO RecorderT a (a, Replayable) | |
Monad m => Monad (RecorderT m) | |
Monad m => Functor (RecorderT m) | |
MonadIO m => MonadIO (RecorderT m) | |
ChRandom m0 => ChRandom (RecorderT m0) | |
ChClock m0 => ChClock (RecorderT m0) | |
ChFinalizer m0 => ChFinalizer (RecorderT m0) | |
ChScanner m0 => ChScanner (RecorderT m0) | |
ChBufferedScanner m0 => ChBufferedScanner (RecorderT m0) | |
Monad m => ChPrinter (RecorderT m) | |
ChSpawn m0 => ChSpawn (RecorderT m0) | |
ChExpand m0 => ChExpand (RecorderT m0) | |
ChExpanderEnv m0 => ChExpanderEnv (RecorderT m0) | |
ChHistoryEnv m0 => ChHistoryEnv (RecorderT m0) |
newtype Replayable Source
replay :: Replayable -> StringSource
Replay a recorder state in a pure context.
replay_ :: Monad m => RecorderT m StringSource
Replay the current recorder state without leaving the recorder.
runRecorder :: Recorder a -> (a, Replayable)Source
Run Recorder
and also return its state.
runRecorderT :: (Functor m, Monad m) => RecorderT m a -> m (a, Replayable)Source
Run RecorderT
and also return its state.
Redirection target that discards input.
Redirection target that records input.
class RedirectionTarget t mt a r | t -> mt, t a -> r whereSource
Class for all redirection targets.