Skip to content

Commit 4d6c8b2

Browse files
committed
io-classes: MonadEvaluate doesn't need to depend on MonadThrow
1 parent 3ad20c5 commit 4d6c8b2

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

io-classes/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
* Added `MonadLabelledMVar` class.
1111
* Added `labelMVar` to `Control.Concurrent.Class.MonadMVar.Strict`
1212
* Added `debugTraceTVar`, `debugTraceTMVar`, `debugTraceTVarIO`, `debugTraceTMVarIO` for `Show`-based tracing.
13+
* `MonadEvaluate` is not a supper-class of `MonadThrow` anymore.
1314

1415
### Non-breaking changes
1516

io-classes/src/Control/Monad/Class/MonadThrow.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ class MonadMask m => MonadMaskingState m where
213213

214214
-- | Monads which can 'evaluate'.
215215
--
216-
class MonadThrow m => MonadEvaluate m where
216+
class MonadEvaluate m where
217217
evaluate :: a -> m a
218218

219219
--
@@ -321,5 +321,5 @@ instance MonadMask m => MonadMask (ReaderT r m) where
321321
where q :: (m a -> m a) -> ReaderT e m a -> ReaderT e m a
322322
q u (ReaderT b) = ReaderT (u . b)
323323

324-
instance MonadEvaluate m => MonadEvaluate (ReaderT r m) where
324+
instance (Monad m, MonadEvaluate m) => MonadEvaluate (ReaderT r m) where
325325
evaluate = lift . evaluate

0 commit comments

Comments
 (0)