Safe Haskell | Trustworthy |
---|---|
Language | Haskell98 |
- data Step s o r
- data Stream m o r = Stream (s -> m (Step s o r)) (m s)
- data ConduitWithStream i o m r
- type StreamConduitT i o m r = Stream m i () -> Stream m o r
- type StreamConduit i m o = StreamConduitT i o m ()
- type StreamSource m o = StreamConduitT () o m ()
- type StreamProducer m o = forall i. StreamConduitT i o m ()
- type StreamSink i m r = StreamConduitT i Void m r
- type StreamConsumer i m r = forall o. StreamConduitT i o m r
- streamConduit :: ConduitT i o m r -> (Stream m i () -> Stream m o r) -> ConduitWithStream i o m r
- streamSource :: Monad m => Stream m o () -> ConduitWithStream i o m ()
- streamSourcePure :: Monad m => Stream Identity o () -> ConduitWithStream i o m ()
- unstream :: ConduitWithStream i o m r -> ConduitT i o m r
Types
This is the same as stream fusion's Step. Constructors are renamed to avoid confusion with conduit names.
data ConduitWithStream i o m r Source #
type StreamConduitT i o m r = Stream m i () -> Stream m o r Source #
type StreamConduit i m o = StreamConduitT i o m () Source #
type StreamSource m o = StreamConduitT () o m () Source #
type StreamProducer m o = forall i. StreamConduitT i o m () Source #
type StreamSink i m r = StreamConduitT i Void m r Source #
type StreamConsumer i m r = forall o. StreamConduitT i o m r Source #
Functions
streamConduit :: ConduitT i o m r -> (Stream m i () -> Stream m o r) -> ConduitWithStream i o m r Source #
streamSource :: Monad m => Stream m o () -> ConduitWithStream i o m () Source #
streamSourcePure :: Monad m => Stream Identity o () -> ConduitWithStream i o m () Source #
unstream :: ConduitWithStream i o m r -> ConduitT i o m r Source #