dataflower 0.2.0.0 → 0.2.1.0
raw patch · 2 files changed
+75/−3 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Dataflow.Operators: 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)
+ Dataflow.Operators: 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)
+ Dataflow.Operators: 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)
Files
- dataflower.cabal +2/−2
- src/Dataflow/Operators.hs +73/−1
dataflower.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: f8c905e3886d672d9325bc3d2737600644d15f243a4c93fdfb69cde4c8de0b6c+-- hash: f3c31e7bf792a3456fb07d2fe54ce9b968e689a915ac7ce9b658e8c99697b860 name: dataflower-version: 0.2.0.0+version: 0.2.1.0 synopsis: A Pure-Haskell Timely Dataflow System description: See README homepage: https://github.com/doublecrowngaming/dataflower#readme
src/Dataflow/Operators.hs view
@@ -15,7 +15,10 @@ fanout, map, join2,- join3+ join3,+ join4,+ join5,+ join6 ) where import Dataflow.Primitives (Dataflow, Edge, StateRef, Timestamp,@@ -73,3 +76,72 @@ (,,) <$> registerVertex (StatefulVertex stateRef callbackI) <*> registerVertex (StatefulVertex stateRef callbackJ) <*> registerVertex (StatefulVertex stateRef callbackK)++-- | Construct a stateful vertex with four input edges.+--+-- @since 0.2.1.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)+join4 initState callback1 callback2 callback3 callback4 finalizer = do+ stateRef <- newState initState++ registerFinalizer $ finalizer stateRef++ (,,,) <$> registerVertex (StatefulVertex stateRef callback1)+ <*> registerVertex (StatefulVertex stateRef callback2)+ <*> registerVertex (StatefulVertex stateRef callback3)+ <*> registerVertex (StatefulVertex stateRef callback4)++-- | Construct a stateful vertex with five 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)+join5 initState callback1 callback2 callback3 callback4 callback5 finalizer = do+ stateRef <- newState initState++ registerFinalizer $ finalizer stateRef++ (,,,,) <$> registerVertex (StatefulVertex stateRef callback1)+ <*> registerVertex (StatefulVertex stateRef callback2)+ <*> registerVertex (StatefulVertex stateRef callback3)+ <*> registerVertex (StatefulVertex stateRef callback4)+ <*> registerVertex (StatefulVertex stateRef callback5)++-- | Construct a stateful vertex with six 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)+join6 initState callback1 callback2 callback3 callback4 callback5 callback6 finalizer = do+ stateRef <- newState initState++ registerFinalizer $ finalizer stateRef++ (,,,,,) <$> registerVertex (StatefulVertex stateRef callback1)+ <*> registerVertex (StatefulVertex stateRef callback2)+ <*> registerVertex (StatefulVertex stateRef callback3)+ <*> registerVertex (StatefulVertex stateRef callback4)+ <*> registerVertex (StatefulVertex stateRef callback5)+ <*> registerVertex (StatefulVertex stateRef callback6)