Skip to content
Snippets Groups Projects
Commit 29f658db authored by Jens Nolte's avatar Jens Nolte
Browse files

Add Observable instance for Observables wrapped in IO

parent 33f8a586
No related branches found
No related tags found
No related merge requests found
......@@ -54,6 +54,14 @@ subscribe' observable callback = mfix $ \subscription -> subscribe observable (c
type ObservableCallback v = ObservableMessage v -> IO ()
instance Observable v o => Observable v (IO o) where
getValue :: IO o -> IO (ObservableState v)
getValue getObservable = getValue =<< getObservable
subscribe :: IO o -> (ObservableMessage v -> IO ()) -> IO SubscriptionHandle
subscribe getObservable callback = do
observable <- getObservable
subscribe observable callback
-- | Existential quantification wrapper for the Observable type class.
data SomeObservable v = forall o. Observable v o => SomeObservable o
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment