@@ -262,8 +262,6 @@ class ( MonadHold t (PushM t)
262262 never :: Event t a
263263 -- | Create a 'Behavior' that always has the given value
264264 constant :: a -> Behavior t a --TODO: Refactor to use 'pure' from Applicative instead; however, we need to make sure that encouraging Applicative-style use of 'Behavior's doesn't have a negative performance impact
265− -- | An event which occurs at the current moment.
266− now :: PushM t (Event t ())
267265 -- | Create an 'Event' from another 'Event'; the provided function can sample
268266 -- 'Behavior's and hold 'Event's, and use the results to produce a occurring
269267 -- (Just) or non-occurring (Nothing) result
@@ -422,6 +420,8 @@ class MonadSample t m => MonadHold t m where
422420 -- | Create a new 'Event' that only occurs only once, on the first occurrence of
423421 -- the supplied 'Event'.
424422 headE :: Event t a -> m (Event t a)
423+ -- | An event which occurs at the current moment.
424+ now :: m (Event t ())
425425
426426-- | Accumulate an 'Incremental' with the supplied initial value and the firings of the provided 'Event',
427427-- using the combining function to produce a patch.
@@ -567,6 +567,7 @@ instance MonadHold t m => MonadHold t (ReaderT r m) where
567567 holdIncremental a0 = lift . holdIncremental a0
568568 buildDynamic a0 = lift . buildDynamic a0
569569 headE = lift . headE
570+ now = lift now
570571
571572instance (MonadSample t m, Monoid r) => MonadSample t (WriterT r m) where
572573 sample = lift . sample
@@ -577,6 +578,7 @@ instance (MonadHold t m, Monoid r) => MonadHold t (WriterT r m) where
577578 holdIncremental a0 = lift . holdIncremental a0
578579 buildDynamic a0 = lift . buildDynamic a0
579580 headE = lift . headE
581+ now = lift now
580582
581583instance MonadSample t m => MonadSample t (StateT s m) where
582584 sample = lift . sample
@@ -587,6 +589,7 @@ instance MonadHold t m => MonadHold t (StateT s m) where
587589 holdIncremental a0 = lift . holdIncremental a0
588590 buildDynamic a0 = lift . buildDynamic a0
589591 headE = lift . headE
592+ now = lift now
590593
591594instance MonadSample t m => MonadSample t (ExceptT e m) where
592595 sample = lift . sample
@@ -597,6 +600,7 @@ instance MonadHold t m => MonadHold t (ExceptT e m) where
597600 holdIncremental a0 = lift . holdIncremental a0
598601 buildDynamic a0 = lift . buildDynamic a0
599602 headE = lift . headE
603+ now = lift now
600604
601605instance (MonadSample t m, Monoid w) => MonadSample t (RWST r w s m) where
602606 sample = lift . sample
@@ -607,6 +611,7 @@ instance (MonadHold t m, Monoid w) => MonadHold t (RWST r w s m) where
607611 holdIncremental a0 = lift . holdIncremental a0
608612 buildDynamic a0 = lift . buildDynamic a0
609613 headE = lift . headE
614+ now = lift now
610615
611616instance MonadSample t m => MonadSample t (ContT r m) where
612617 sample = lift . sample
@@ -617,6 +622,7 @@ instance MonadHold t m => MonadHold t (ContT r m) where
617622 holdIncremental a0 = lift . holdIncremental a0
618623 buildDynamic a0 = lift . buildDynamic a0
619624 headE = lift . headE
625+ now = lift now
620626
621627--------------------------------------------------------------------------------
622628-- Convenience functions