dataflower-0.2.2.0: A Pure-Haskell Timely Dataflow System

Copyright(c) Double Crown Gaming Co. 2020
LicenseBSD3
Maintainerjesse.kempf@doublecrown.co
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Dataflow.Operators

Description

Common utility operators for data flows

Since: 0.1.3.0

Synopsis

Documentation

fanout :: [Edge a] -> Dataflow (Edge a) Source #

Construct a stateless vertex that sends each input to every Edge in the output list.

Since: 0.1.3.0

map :: (i -> o) -> Edge o -> Dataflow (Edge i) Source #

Construct a stateless vertex that applies the provided function to every input and sends the result to the output.

Since: 0.1.3.0

join2 :: state -> (StateRef state -> Timestamp -> i -> Dataflow ()) -> (StateRef state -> Timestamp -> j -> Dataflow ()) -> (StateRef state -> Timestamp -> Dataflow ()) -> Dataflow (Edge i, Edge j) Source #

Construct a stateful vertex with two input edges.

Since: 0.1.3.0

join3 :: state -> (StateRef state -> Timestamp -> i -> Dataflow ()) -> (StateRef state -> Timestamp -> j -> Dataflow ()) -> (StateRef state -> Timestamp -> k -> Dataflow ()) -> (StateRef state -> Timestamp -> Dataflow ()) -> Dataflow (Edge i, Edge j, Edge k) Source #

Construct a stateful vertex with three input edges.

Since: 0.1.3.0

join4 :: state -> (StateRef state -> Timestamp -> i1 -> Dataflow ()) -> (StateRef state -> Timestamp -> i2 -> Dataflow ()) -> (StateRef state -> Timestamp -> i3 -> Dataflow ()) -> (StateRef state -> Timestamp -> i4 -> Dataflow ()) -> (StateRef state -> Timestamp -> Dataflow ()) -> Dataflow (Edge i1, Edge i2, Edge i3, Edge i4) Source #

Construct a stateful vertex with four input edges.

Since: 0.2.1.0

join5 :: state -> (StateRef state -> Timestamp -> i1 -> Dataflow ()) -> (StateRef state -> Timestamp -> i2 -> Dataflow ()) -> (StateRef state -> Timestamp -> i3 -> Dataflow ()) -> (StateRef state -> Timestamp -> i4 -> Dataflow ()) -> (StateRef state -> Timestamp -> i5 -> Dataflow ()) -> (StateRef state -> Timestamp -> Dataflow ()) -> Dataflow (Edge i1, Edge i2, Edge i3, Edge i4, Edge i5) Source #

Construct a stateful vertex with five input edges.

Since: 0.2.1.0

join6 :: state -> (StateRef state -> Timestamp -> i1 -> Dataflow ()) -> (StateRef state -> Timestamp -> i2 -> Dataflow ()) -> (StateRef state -> Timestamp -> i3 -> Dataflow ()) -> (StateRef state -> Timestamp -> i4 -> Dataflow ()) -> (StateRef state -> Timestamp -> i5 -> Dataflow ()) -> (StateRef state -> Timestamp -> i6 -> Dataflow ()) -> (StateRef state -> Timestamp -> Dataflow ()) -> Dataflow (Edge i1, Edge i2, Edge i3, Edge i4, Edge i5, Edge i6) Source #

Construct a stateful vertex with six input edges.

Since: 0.2.1.0