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

Remove redundant constraints

parent d9a8d220
No related merge requests found
......@@ -21,7 +21,7 @@ import Quasar.Disposable
import Quasar.Prelude
class (MonadAwait m, MonadResourceManager m) => MonadAsync m where
class MonadResourceManager m => MonadAsync m where
async :: m r -> m (Awaitable r)
async action = asyncWithUnmask ($ action)
......
......@@ -74,7 +74,7 @@ toObservableUpdate (ObservableNotAvailable ex) = throwM ex
class IsRetrievable v a | a -> v where
retrieve :: (MonadResourceManager m, MonadAwait m) => a -> m (Awaitable v)
retrieve :: MonadResourceManager m => a -> m (Awaitable v)
retrieveIO :: IsRetrievable v a => a -> IO v
retrieveIO x = withOnResourceManager $ await =<< retrieve x
......@@ -436,7 +436,7 @@ mergeObservable :: (IsObservable v0 o0, IsObservable v1 o1) => (v0 -> v1 -> r) -
mergeObservable merge x y = Observable $ MergedObservable merge x y
data FnObservable v = FnObservable {
retrieveFn :: forall m. (MonadResourceManager m, MonadAwait m) => m (Awaitable v),
retrieveFn :: forall m. MonadResourceManager m => m (Awaitable v),
observeFn :: (ObservableMessage v -> IO ()) -> IO Disposable
}
instance IsRetrievable v (FnObservable v) where
......@@ -451,7 +451,7 @@ instance IsObservable v (FnObservable v) where
-- | Implement an Observable by directly providing functions for `retrieve` and `subscribe`.
fnObservable
:: ((ObservableMessage v -> IO ()) -> IO Disposable)
-> (forall m. (MonadResourceManager m, MonadAwait m) => m (Awaitable v))
-> (forall m. MonadResourceManager m => m (Awaitable v))
-> Observable v
fnObservable observeFn retrieveFn = toObservable FnObservable{observeFn, retrieveFn}
......
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