-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Make your action to be observable and listen events from them. -- -- Make your action to be observable and listen events from them. @package observable @version 0.1.1 module Control.Observable -- | Capture used here as delimiter type Observable f a r = ContT r (Capture r f) a -- | Looks like a bind, but it has another semantics (*=>) :: Monad f => f a -> (a -> f r) -> f r -- | Make continuation to be observable dispatch :: ContT r f a -> Observable f a r -- | Listen all event from action, forever subscribe :: Applicative f => Observable f a r -> (a -> f r) -> f r -- | Listen only first event, just once notify :: Observable f a r -> (a -> f r) -> f r -- | Make monadic action to be observable obs :: Monad f => f a -> Observable f a r -- | Yield all a over some t with callback function bypass :: (Monad f, Traversable t) => t a -> (a -> f r) -> f (t r) module Control.Observable.Usage.Heartbeat -- | Listen event from action untill time limit is up alive :: Int -> Observable IO a r -> (a -> IO r) -> IO (Beaten r)