@@ -20,6 +20,7 @@ module Reflex.Dynamic ( Dynamic -- Abstract so we can preserve the law that the
20 , foldDynMaybe
20 , foldDynMaybe
21 , foldDynMaybeM
21 , foldDynMaybeM
22 , combineDyn
22 , combineDyn
23 , collectDyn
24 , collectDyn
24 , mconcatDyn
25 , mconcatDyn
25 , distributeDMapOverDyn
26 , distributeDMapOverDyn
@@ -271,6 +272,21 @@ combineDyn f da db = do
271 let bc :: Behavior t c = pull $ sample =<< sample bbc
272 let bc :: Behavior t c = pull $ sample =<< sample bbc
272 return $ Dynamic bc ec
273 return $ Dynamic bc ec
275+-- | A psuedo applicative version of ap for 'Dynamic'. Example useage:
278+-- > person <- Person `mapDyn` dynFirstName
279+-- > `apDyn` dynListName
281+-- > `apDyn` dynAddress
282+apDyn :: forall t m a b. (Reflex t, MonadHold t m)
283+ => m (Dynamic t (a -> b))
288+ combineDyn (\f c -> f c) r a
275tagInnerDyn :: Reflex t => Event t (Dynamic t a) -> Event t a
291tagInnerDyn :: Reflex t => Event t (Dynamic t a) -> Event t a
276tagInnerDyn e =
292tagInnerDyn e =