stream-0.1.0.0: Initial project template from stack

Safe HaskellSafe
LanguageHaskell2010

Stream.Core

Contents

Synopsis

Types

data StreamT o m r Source

data Step s o r Source

Constructors

Done r 
Yield s o 
Skip s 

Helpers

mapStep :: (i -> o) -> Step s i r -> Step s o r Source

runStreamT :: Monad m => StreamT o m r -> m r Source

Smart constructros

Source

makeSource :: state -> (state -> m (Step state o r)) -> StreamT o m r Source

makeSourceWith :: (forall b. (state -> m b) -> m b) -> (state -> m (Step state o r)) -> StreamT o m r Source

Transformer

makeTransformer :: myState -> (forall upState. myState -> upState -> (upState -> m (Step upState i upR)) -> m (Step (myState, upState) o myR)) -> StreamT i m upR -> StreamT o m myR Source

makeTransformer' :: (forall upState. upState -> (upState -> m (Step upState i upR)) -> m (Step upState o myR)) -> StreamT i m upR -> StreamT o m myR Source

Sink

makeSink :: (forall state. state -> (state -> m (Step state i upR)) -> m myR) -> StreamT i m upR -> m myR Source