box-0.4.0: boxes

Safe HaskellNone
LanguageHaskell2010

Box.IO

Description

IO actions

Synopsis

Documentation

cStdin_ :: Committer (STM IO) Text -> IO () Source #

a single stdin committer action

cStdin :: Int -> Committer (STM IO) Text -> IO () Source #

a finite stdin committer action

cStdin' :: Committer (STM IO) Text -> IO () Source #

a forever stdin committer action

eStdin :: Int -> Cont IO (Emitter (STM IO) Text) Source #

a Cont stdin emitter

readStdin :: Read a => Cont IO (Emitter (STM IO) a) Source #

read from console, throwing away read errors

eStdout_ :: Emitter (STM IO) Text -> IO () Source #

a single stdout emitter action

eStdout :: Int -> Emitter (STM IO) Text -> IO () Source #

a finite stdout emitter action

eStdoutM :: Int -> Emitter IO Text -> IO () Source #

a finite stdout emitter action

eStdout' :: Emitter (STM IO) Text -> IO () Source #

a forever stdout emitter action

cStdout :: Int -> Cont IO (Committer (STM IO) Text) Source #

a Cont stdout committer

cStdout' :: Cont IO (Committer (STM IO) Text) Source #

a Cont stdout committer

eStdin' :: Cont IO (Emitter (STM IO) Text) Source #

a Cont stdin emitter

showStdout :: Show a => Cont IO (Committer (STM IO) a) Source #

show to stdout

getLine :: Handle -> Committer (STM IO) Text -> IO () Source #

Get lines from a handle forever.

putLine :: Handle -> Emitter (STM IO) Text -> IO () Source #

a forever getLine committer action

consolePlug :: Int -> Cont IO (Box (STM IO) Text Text) Source #

console box > etc () (Trans $ s -> s & S.takeWhile (/="q") & S.map ("echo: " <>)) (console 5)

emitLines :: Handle -> Emitter IO Text Source #

Emits lines of Text from a handle.

commitLines :: Handle -> Committer IO Text Source #

Commit lines of Text to a handle.

cCRef :: MonadConc m => m (IORef m [b], Cont m (Committer (STM m) b), m [b]) Source #

commit to a list CRef

cCRefM :: (MonadConc m, Monoid a) => m (IORef m a, Cont m (Committer (STM m) a), m a) Source #

commit to a monoidal CRef

toListM :: MonadConc m => Cont m (Emitter (STM m) a) -> s -> Transducer s a b -> m ([b], s) Source #

fold an emitter through a transduction, committing to a list

getCommissions :: MonadConc m => Cont m (Emitter (STM m) a) -> s -> Transducer s a b -> m [b] Source #

get all commissions as a list

getEmissions :: MonadConc m => Int -> Cont m (Emitter (STM m) a) -> m [a] Source #

get all emissions