polysemy-process-0.13.0.1: Polysemy effects for system processes
Safe HaskellSafe-Inferred
LanguageGHC2021

Polysemy.Process.Effect.ProcessOutput

Description

 
Synopsis

Documentation

data OutputPipe Source #

Kind tag for selecting the ProcessOutput handler for stdout/stderr.

Constructors

Stdout

Tag for stdout.

Stderr

Tag for stderr.

Instances

Instances details
Show OutputPipe Source # 
Instance details

Defined in Polysemy.Process.Effect.ProcessOutput

Eq OutputPipe Source # 
Instance details

Defined in Polysemy.Process.Effect.ProcessOutput

data ProcessOutput (p :: OutputPipe) a :: Effect where Source #

This effect is used by the effect Process to accumulate and decode chunks of ByteStrings, for example using a parser. The interpreter may be stateful or stateless, since the constructor Chunk is expected to be called with both the accumulated unprocessed output as well as the new chunk.

Constructors

Chunk

Add a chunk of output to the accumulator, returning any number of successfully parsed values and the leftover output.

Fields

chunk :: forall p a r. Member (ProcessOutput p a) r => ByteString -> ByteString -> Sem r ([a], ByteString) Source #

Add a chunk of output to the accumulator, returning any number of successfully parsed values and the leftover output.