@@ -19,6 +19,13 @@ class (ReflexHost t, Monad m) => MonadReadEvent t m | m -> t where
19 readEvent :: EventHandle t a -> m (Maybe (m a))
19 readEvent :: EventHandle t a -> m (Maybe (m a))
21class (Monad m, ReflexHost t) => MonadReflexCreateTrigger t m | m -> t where
21class (Monad m, ReflexHost t) => MonadReflexCreateTrigger t m | m -> t where
22+ -- | Creates an original Event (one that is not based on any other event).
23+ -- When a subscriber first subscribes to an event (building another event
24+ -- that depends on the subscription) the given callback function is run by
25+ -- passing a trigger. The event is then set up in IO. The callback
26+ -- function returns an accompanying teardown action.
27+ -- Any time between setup and teardown the trigger can be used to fire
22 newEventWithTrigger :: (EventTrigger t a -> IO (IO ())) -> m (Event t a)
29 newEventWithTrigger :: (EventTrigger t a -> IO (IO ())) -> m (Event t a)
24class (Monad m, ReflexHost t, MonadReflexCreateTrigger t m) => MonadReflexHost t m | m -> t where
31class (Monad m, ReflexHost t, MonadReflexCreateTrigger t m) => MonadReflexHost t m | m -> t where