on be953ba help sign in
83 lines 1.6 kB history raw
1-- |
2-- Module : Streamly.Data.Stream.Concurrent
3-- Copyright : (c) 2022 Composewell Technologies
4-- License : BSD-3-Clause
5-- Maintainer : streamly@composewell.com
6-- Stability : released
7-- Portability : GHC
9module Streamly.Data.Stream.Concurrent
10 (
11 MonadAsync
13 -- * Configuration
14 , Config
16 -- ** Limits
17 , maxThreads
18 , maxBuffer
20 -- ** Rate Control
21 , Rate(..)
22 , rate
23 , avgRate
24 , minRate
25 , maxRate
26 , constRate
28 -- ** Stop behavior
29 , StopWhen (..)
30 , stopWhen
32 -- ** Scheduling behavior
33 , eager
34 , ordered
35 , interleaved
37 -- ** Diagnostics
38 , inspect
40 -- * Combinators
41 -- | Stream combinators using a concurrent channel.
43 -- ** Evaluate
44 -- | Evaluates a stream concurrently using a channel.
45 , eval
46 , evalWith
48 -- ** Map
49 -- | Uses a single channel to evaluate mapped actions concurrently.
50 , mapM
51 , mapMWith
52 , sequence
53 , sequenceWith
55 -- ** List of streams
56 -- | Shares a single channel across many streams.
57 , append
58 , ahead
59 , parallel
60 , concatListWith
61 , parallelFst
62 , parallelMin
63 , zipWithM
64 , zipWith
66 -- ** Stream of streams
67 -- *** Apply
68 -- | Apply argument streams to a function concurrently. Uses a separate
69 -- channel for each application.
70 , apply
71 , applyWith
73 -- *** Concat
74 -- | Shares a single channel across many streams.
75 , concat
76 , concatWith
77 , concatMap
78 , concatMapWith
79 )
80where
82import Streamly.Internal.Data.Stream.Concurrent
83import Prelude hiding (mapM, sequence, concat, concatMap, zipWith)