package flux
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=4fe47605e171bdc7734d0cd4f3fa8ad5d7e4aa9b7cde8cd46e517dadf0f5dda9
sha512=a198e60da2575a27d6976bac2839e544312e4f5d895bc18bf3d9554396896a406a1143bcc0a28c75b992a060e0a5174a23a6688aaefaa8dd8c37f09b59364ad1
doc/flux/Flux/Stream/index.html
Module Flux.StreamSource
Creating streams.
range ~by:step n m is a sequence of integers starting from n to m (excluding m) incremented by step. The range is pen on the right side.
repeat ~times:n x produces a stream by repeating x n times. If n is omitted, x is repeated ad infinitum.
unfold seed next is a stream created from a seed state and a function that produces elements and an updated state. The stream will terminate when next produces None.
concat s0 s1 is a stream that exhausts all elements from s0 and then all elements from s1.
Transforming a stream.
A stream with all elements transformed with a mapping function.
Pass each element through an effectful function.
Take first n elements from the stream and discard the rest.
A stream that includes only the elements that satisfy a predicate.
filter_map fn src applies fn to every element x of source, discarding it if fn x produces None, and keeping the transformed value otherwise.
Combining streams.
Inserts a separator element between each stream element.
flat_map fn stream is a stream concatenated from sub-streams produced by applying fn to all elements of stream.
Consumers.
each fn stream applies an function fn to all elements of stream. Each function is performed cooperatively via the Miou scheduler.
Adaptors.
into sink stream is the result value produced by streaming all elements of stream into sink.
via flow stream is stream produced by transforming all elements of stream via flow.
from source is a stream created from a source. To retain control over the given src resource, by default, if the stream has fully filled the result, the source is properly disposed of (i.e. its stop function is called correctly).
Fuses sources, sinks and flows and produces a result and a leftover.
let r, leftover = Stream.run ~from:source ~via:flow ~into:sinkStreams elements from source into sink via a stream transformer flow. In addition to the result value r produced by sink, a leftover source is returned, if source was not exhausted.
NOTE: If a leftover source is produced, it is required to either consume it or manually dispose its resources. Not doing so might lead to resource leaks.
I/O Streams.