streamly-0.8.2: Dataflow programming and declarative concurrency
Copyright(c) 2017 Composewell Technologies
LicenseBSD-3-Clause
Maintainerstreamly@composewell.com
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell2010

Streamly.Internal.Data.Fold.SVar

Description

 
Synopsis

Documentation

write :: MonadIO m => SVar t m a -> Maybe WorkerInfo -> Fold m a () Source #

A fold to write a stream to an SVar. Unlike toSVar this does not allow for concurrent evaluation of the stream, as the fold receives the input one element at a time, it just forwards the elements to the SVar. However, we can safely execute the fold in an independent thread, the SVar can act as a buffer decoupling the sender from the receiver. Also, we can have multiple folds running concurrently pusing the streams to the SVar.

writeLimited :: MonadIO m => SVar t m a -> Maybe WorkerInfo -> Fold m a () Source #

Like write, but applies a yield limit.