You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/Reflex/Class.hs
+31-3Lines changed: 31 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -17,6 +17,7 @@
17
17
{-# LANGUAGE TypeFamilies #-}
18
18
{-# LANGUAGE TypeOperators #-}
19
19
{-# LANGUAGE UndecidableInstances #-}
20
+
{-# LANGUAGE Trustworthy #-}
20
21
#ifdef USE_REFLEX_OPTIMIZER
21
22
{-# OPTIONS_GHC -fplugin=Reflex.Optimizer #-}
22
23
#endif
@@ -46,6 +47,9 @@ module Reflex.Class
46
47
, pushAlways
47
48
-- ** Combining 'Event's
48
49
, leftmost
50
+
, merge
51
+
, mergeIncremental
52
+
, mergeIncrementalWithMove
49
53
, mergeMap
50
54
, mergeIntMap
51
55
, mergeMapIncremental
@@ -256,7 +260,9 @@ class ( MonadHold t (PushM t)
256
260
--| Merge a collection of events; the resulting 'Event' will only occur if at
257
261
-- least one input event is occurring, and will contain all of the input keys
258
262
-- that are occurring simultaneously
259
-
merge::GComparek=>DMapk (Eventt) ->Eventt (DMapkIdentity) --TODO: Generalize to get rid of DMap use --TODO: Provide a type-level guarantee that the result is not empty
263
+
mergeG::GComparek=> (foralla.qa->Eventt (va))
264
+
->DMapkq->Eventt (DMapkv)
265
+
--TODO: Generalize to get rid of DMap use --TODO: Provide a type-level guarantee that the result is not empty
260
266
--| Efficiently fan-out an event to many destinations. You should save the
261
267
-- result in a @let@-binding, and then repeatedly 'select' on the result to
262
268
-- create child events
@@ -278,9 +284,14 @@ class ( MonadHold t (PushM t)
0 commit comments