Safe Haskell | None |
---|

Provides a bunch of derived instances for the various typeclasses.

- type IgnorantT m = QuietT (DeafT m)
- type Ignorant = IgnorantT Identity
- type ChattyT m = HereStringT (RecorderT m)
- type Chatty = ChattyT Identity
- runIgnorantT :: Monad m => IgnorantT m a -> m a
- runIgnorant :: Ignorant a -> a
- runChattyT :: (Monad m, Functor m) => ChattyT m a -> String -> m (a, String, Replayable)
- runChatty :: Chatty a -> String -> (a, String, Replayable)
- (.|.) :: (Monad m, Functor m) => RecorderT m a -> HereStringT m b -> m b
- (.<$.) :: (Functor m, Monad m) => (String -> m b) -> RecorderT m a -> m b

# Documentation

type IgnorantT m = QuietT (DeafT m)Source

IgnorantT ignores all output and does not provide any input.

type ChattyT m = HereStringT (RecorderT m)Source

ChattyT simulates a console, actually taking input as a string and recording output.

runIgnorantT :: Monad m => IgnorantT m a -> m aSource

Run IgnorantT (does not take anything)

runIgnorant :: Ignorant a -> aSource

Run Ignorant (does not take anything)

runChattyT :: (Monad m, Functor m) => ChattyT m a -> String -> m (a, String, Replayable)Source

Run ChattyT. Takes input as a string and returns (result, remaining input, output).

runChatty :: Chatty a -> String -> (a, String, Replayable)Source

Run Chatty. Takes input as a string and returns (result, remaining input, output).