on develop help sign in
Update Quickref.md
commit1f8e1cbaaa7a292a1b0e05d843dc87f06920fd6f authorLennart Spitzner <lsp@informatik.uni-kiel.de> dateSun 16 Oct 2016, 23:46 (10 years ago) parent5ae2b58
2 files changed+13−5
Quickref.md+12−5 src/Reflex/Class.hs+1
Quickref.md+12−5
@@ -48,7 +48,10 @@ Since MonadHold depends on MonadSample, any [S] function also runs in [H] contex
4848[ ] attachPromptlyDynWithMaybe :: (a -> b -> Maybe c) -> Dynamic a -> Event b -> Event c
4949
5050-- Combine multiple Events
51−[ ] <> :: Monoid a => Event a -> Event a -> Event a
51+[ ] <> :: Monoid a => Event a -> Event a -> Event a
52+[ ] unlessE :: Event a -> Event b -> Event a
53+[ ] align :: Event a -> Event b -> Event (These a b)
54+[ ] alignWith :: (These a b -> c) -> Event a -> Event b -> Event c
5255[ ] mergeWith :: (a -> a -> a) -> [Event a] -> Event a
5356[ ] leftmost :: [Event a] -> Event a
5457[ ] mergeList :: [Event a] -> Event (NonEmpty a)
@@ -56,9 +59,11 @@ Since MonadHold depends on MonadSample, any [S] function also runs in [H] contex
5659[ ] mergeMap :: Ord k => Map k (Event a) -> Event (Map k a)
5760
5861-- Efficient one-to-many fanout
59−[ ] fanMap :: Ord k => Event (Map k a) -> EventSelector (Const2 k a)
60−[ ] fan :: GCompare k => Event (DMap k) -> EventSelector k
61−[ ] select :: EventSelector k -> k a -> Event a
62+[ ] fanMap :: Ord k => Event (Map k a) -> EventSelector (Const2 k a)
63+[ ] fan :: GCompare k => Event (DMap k) -> EventSelector k
64+[ ] select :: EventSelector k -> k a -> Event a
65+[ ] fanEither :: Event (Either a b) -> (Event a, Event b)
66+[ ] fanThese :: Event (These a b) -> (Event a, Event b)
6267
6368-- Event to Event via function that can sample current values
6469[ ] push :: (a -> m (Maybe b)) -> Event a -> Event b
@@ -124,7 +129,9 @@ Since MonadHold depends on MonadSample, any [S] function also runs in [H] contex
124129-- Combine multiple Dynamics
125130[ ] mconcat :: Monoid a => [Dynamic a] -> Dynamic a
126131[ ] distributeDMapOverDynPure :: GCompare k => DMap (WrapArg Dynamic k) -> Dynamic (DMap k)
127−[ ] zipDynWith :: (a -> b -> c) -> Dynamic a -> Dynamic b -> Dynamic c
132+[ ] <*> :: Dynamic (a -> b) -> Dynamic a -> Dynamic b
133+[ ] >>= :: Dynamic a -> (a -> Dynamic b) -> Dynamic b
134+[ ] zipDynWith :: (a -> b -> c) -> Dynamic a -> Dynamic b -> Dynamic c
128135
129136-- Efficient one-to-many fanout
130137[ ] demux :: Ord k => Dynamic k -> Demux k
src/Reflex/Class.hs+1
@@ -661,6 +661,7 @@ zipDyn = zipDynWith (,)
661661
662662-- | Combine two 'Dynamic's with a combining function. The result will change
663663-- whenever either (or both) input 'Dynamic' changes.
664+-- More efficient than liftA2.
664665zipDynWith :: Reflex t => (a -> b -> c) -> Dynamic t a -> Dynamic t b -> Dynamic t c
665666zipDynWith f da db =
666667 let eab = align (updated da) (updated db)