diff --git a/src/lib/Qd/Observable.hs b/src/lib/Qd/Observable.hs index adb896410df62ac377eff81aae6630ac5cd2007b..0445cd0ae907d5dda8229d932336590a75bb31c0 100644 --- a/src/lib/Qd/Observable.hs +++ b/src/lib/Qd/Observable.hs @@ -65,14 +65,12 @@ class Gettable v a | a -> v where class Gettable v o => Observable v o | o -> v where subscribe :: o -> (ObservableMessage v -> IO ()) -> IO SubscriptionHandle - subscribe = subscribe . toSomeObservable toSomeObservable :: o -> SomeObservable v toSomeObservable = SomeObservable mapObservable :: (v -> a) -> o -> SomeObservable a mapObservable f = mapObservableM (return . f) mapObservableM :: (v -> IO a) -> o -> SomeObservable a mapObservableM f = SomeObservable . MappedObservable f - {-# MINIMAL subscribe | toSomeObservable #-} -- | Variant of `getValue` that throws exceptions instead of returning them. getValueE :: (Exception e, Observable (Either e v) o) => o -> IO v