Skip to content

Commit c8ce064

Browse files
committed
remove a bunch of redundant constraints
1 parent f107854 commit c8ce064

10 files changed

Lines changed: 26 additions & 26 deletions

File tree

Control/Monad/Trans/Accum.hs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ instance (Functor m) => Functor (AccumT w m) where
191191
fmap f = mapAccumT $ fmap $ \ ~(a, w) -> (f a, w)
192192
{-# INLINE fmap #-}
193193

194-
instance (Monoid w, Functor m, Monad m) => Applicative (AccumT w m) where
194+
instance (Monoid w, Monad m) => Applicative (AccumT w m) where
195195
pure a = AccumT $ const $ return (a, mempty)
196196
{-# INLINE pure #-}
197197
mf <*> mv = AccumT $ \ w -> do
@@ -200,13 +200,13 @@ instance (Monoid w, Functor m, Monad m) => Applicative (AccumT w m) where
200200
return (f v, w' `mappend` w'')
201201
{-# INLINE (<*>) #-}
202202

203-
instance (Monoid w, Functor m, MonadPlus m) => Alternative (AccumT w m) where
203+
instance (Monoid w, MonadPlus m) => Alternative (AccumT w m) where
204204
empty = AccumT $ const mzero
205205
{-# INLINE empty #-}
206206
m <|> n = AccumT $ \ w -> runAccumT m w `mplus` runAccumT n w
207207
{-# INLINE (<|>) #-}
208208

209-
instance (Monoid w, Functor m, Monad m) => Monad (AccumT w m) where
209+
instance (Monoid w, Monad m) => Monad (AccumT w m) where
210210
#if !(MIN_VERSION_base(4,8,0))
211211
return a = AccumT $ const $ return (a, mempty)
212212
{-# INLINE return #-}
@@ -227,13 +227,13 @@ instance (Monoid w, Fail.MonadFail m) => Fail.MonadFail (AccumT w m) where
227227
{-# INLINE fail #-}
228228
#endif
229229

230-
instance (Monoid w, Functor m, MonadPlus m) => MonadPlus (AccumT w m) where
230+
instance (Monoid w, MonadPlus m) => MonadPlus (AccumT w m) where
231231
mzero = AccumT $ const mzero
232232
{-# INLINE mzero #-}
233233
m `mplus` n = AccumT $ \ w -> runAccumT m w `mplus` runAccumT n w
234234
{-# INLINE mplus #-}
235235

236-
instance (Monoid w, Functor m, MonadFix m) => MonadFix (AccumT w m) where
236+
instance (Monoid w, MonadFix m) => MonadFix (AccumT w m) where
237237
mfix m = AccumT $ \ w -> mfix $ \ ~(a, _) -> runAccumT (m a) w
238238
{-# INLINE mfix #-}
239239

@@ -243,7 +243,7 @@ instance (Monoid w) => MonadTrans (AccumT w) where
243243
return (a, mempty)
244244
{-# INLINE lift #-}
245245

246-
instance (Monoid w, Functor m, MonadIO m) => MonadIO (AccumT w m) where
246+
instance (Monoid w, MonadIO m) => MonadIO (AccumT w m) where
247247
liftIO = lift . liftIO
248248
{-# INLINE liftIO #-}
249249

Control/Monad/Trans/Except.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ instance (Traversable f) => Traversable (ExceptT e f) where
198198
ExceptT <$> traverse (either (pure . Left) (fmap Right . f)) a
199199
{-# INLINE traverse #-}
200200

201-
instance (Functor m, Monad m) => Applicative (ExceptT e m) where
201+
instance (Monad m) => Applicative (ExceptT e m) where
202202
pure a = ExceptT $ return (Right a)
203203
{-# INLINE pure #-}
204204
ExceptT f <*> ExceptT v = ExceptT $ do
@@ -214,7 +214,7 @@ instance (Functor m, Monad m) => Applicative (ExceptT e m) where
214214
m *> k = m >>= \_ -> k
215215
{-# INLINE (*>) #-}
216216

217-
instance (Functor m, Monad m, Monoid e) => Alternative (ExceptT e m) where
217+
instance (Monad m, Monoid e) => Alternative (ExceptT e m) where
218218
empty = ExceptT $ return (Left mempty)
219219
{-# INLINE empty #-}
220220
ExceptT mx <|> ExceptT my = ExceptT $ do

Control/Monad/Trans/Maybe.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ instance (Traversable f) => Traversable (MaybeT f) where
146146
traverse f (MaybeT a) = MaybeT <$> traverse (traverse f) a
147147
{-# INLINE traverse #-}
148148

149-
instance (Functor m, Monad m) => Applicative (MaybeT m) where
149+
instance (Monad m) => Applicative (MaybeT m) where
150150
pure = MaybeT . return . Just
151151
{-# INLINE pure #-}
152152
mf <*> mx = MaybeT $ do
@@ -162,7 +162,7 @@ instance (Functor m, Monad m) => Applicative (MaybeT m) where
162162
m *> k = m >>= \_ -> k
163163
{-# INLINE (*>) #-}
164164

165-
instance (Functor m, Monad m) => Alternative (MaybeT m) where
165+
instance (Monad m) => Alternative (MaybeT m) where
166166
empty = MaybeT (return Nothing)
167167
{-# INLINE empty #-}
168168
x <|> y = MaybeT $ do

Control/Monad/Trans/RWS/CPS.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ instance (Functor m) => Functor (RWST r w s m) where
214214
fmap f m = RWST $ \ r s w -> (\ (a, s', w') -> (f a, s', w')) <$> unRWST m r s w
215215
{-# INLINE fmap #-}
216216

217-
instance (Functor m, Monad m) => Applicative (RWST r w s m) where
217+
instance (Monad m) => Applicative (RWST r w s m) where
218218
pure a = RWST $ \ _ s w -> return (a, s, w)
219219
{-# INLINE pure #-}
220220

@@ -224,7 +224,7 @@ instance (Functor m, Monad m) => Applicative (RWST r w s m) where
224224
return (f x, s'', w'')
225225
{-# INLINE (<*>) #-}
226226

227-
instance (Functor m, MonadPlus m) => Alternative (RWST r w s m) where
227+
instance (MonadPlus m) => Alternative (RWST r w s m) where
228228
empty = RWST $ \ _ _ _ -> mzero
229229
{-# INLINE empty #-}
230230

@@ -253,7 +253,7 @@ instance (Fail.MonadFail m) => Fail.MonadFail (RWST r w s m) where
253253
{-# INLINE fail #-}
254254
#endif
255255

256-
instance (Functor m, MonadPlus m) => MonadPlus (RWST r w s m) where
256+
instance (MonadPlus m) => MonadPlus (RWST r w s m) where
257257
mzero = empty
258258
{-# INLINE mzero #-}
259259
mplus = (<|>)

Control/Monad/Trans/RWS/Lazy.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ instance (Functor m) => Functor (RWST r w s m) where
190190
fmap (\ ~(a, s', w) -> (f a, s', w)) $ runRWST m r s
191191
{-# INLINE fmap #-}
192192

193-
instance (Monoid w, Functor m, Monad m) => Applicative (RWST r w s m) where
193+
instance (Monoid w, Monad m) => Applicative (RWST r w s m) where
194194
pure a = RWST $ \ _ s -> return (a, s, mempty)
195195
{-# INLINE pure #-}
196196
RWST mf <*> RWST mx = RWST $ \ r s -> do
@@ -199,7 +199,7 @@ instance (Monoid w, Functor m, Monad m) => Applicative (RWST r w s m) where
199199
return (f x, s'', w `mappend` w')
200200
{-# INLINE (<*>) #-}
201201

202-
instance (Monoid w, Functor m, MonadPlus m) => Alternative (RWST r w s m) where
202+
instance (Monoid w, MonadPlus m) => Alternative (RWST r w s m) where
203203
empty = RWST $ \ _ _ -> mzero
204204
{-# INLINE empty #-}
205205
RWST m <|> RWST n = RWST $ \ r s -> m r s `mplus` n r s

Control/Monad/Trans/RWS/Strict.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ instance (Functor m) => Functor (RWST r w s m) where
194194
fmap (\ (a, s', w) -> (f a, s', w)) $ runRWST m r s
195195
{-# INLINE fmap #-}
196196

197-
instance (Monoid w, Functor m, Monad m) => Applicative (RWST r w s m) where
197+
instance (Monoid w, Monad m) => Applicative (RWST r w s m) where
198198
pure a = RWST $ \ _ s -> return (a, s, mempty)
199199
{-# INLINE pure #-}
200200
RWST mf <*> RWST mx = RWST $ \ r s -> do
@@ -203,7 +203,7 @@ instance (Monoid w, Functor m, Monad m) => Applicative (RWST r w s m) where
203203
return (f x, s'', w `mappend` w')
204204
{-# INLINE (<*>) #-}
205205

206-
instance (Monoid w, Functor m, MonadPlus m) => Alternative (RWST r w s m) where
206+
instance (Monoid w, MonadPlus m) => Alternative (RWST r w s m) where
207207
empty = RWST $ \ _ _ -> mzero
208208
{-# INLINE empty #-}
209209
RWST m <|> RWST n = RWST $ \ r s -> m r s `mplus` n r s

Control/Monad/Trans/Select.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ instance (Functor m) => Functor (SelectT r m) where
106106
fmap f (SelectT g) = SelectT (fmap f . g . (. f))
107107
{-# INLINE fmap #-}
108108

109-
instance (Functor m, Monad m) => Applicative (SelectT r m) where
109+
instance (Monad m) => Applicative (SelectT r m) where
110110
pure = lift . return
111111
{-# INLINE pure #-}
112112
SelectT gf <*> SelectT gx = SelectT $ \ k -> do
@@ -117,7 +117,7 @@ instance (Functor m, Monad m) => Applicative (SelectT r m) where
117117
m *> k = m >>= \_ -> k
118118
{-# INLINE (*>) #-}
119119

120-
instance (Functor m, MonadPlus m) => Alternative (SelectT r m) where
120+
instance (MonadPlus m) => Alternative (SelectT r m) where
121121
empty = mzero
122122
{-# INLINE empty #-}
123123
(<|>) = mplus

Control/Monad/Trans/State/Lazy.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ instance (Functor m) => Functor (StateT s m) where
213213
fmap (\ ~(a, s') -> (f a, s')) $ runStateT m s
214214
{-# INLINE fmap #-}
215215

216-
instance (Functor m, Monad m) => Applicative (StateT s m) where
216+
instance (Monad m) => Applicative (StateT s m) where
217217
pure a = StateT $ \ s -> return (a, s)
218218
{-# INLINE pure #-}
219219
StateT mf <*> StateT mx = StateT $ \ s -> do
@@ -224,7 +224,7 @@ instance (Functor m, Monad m) => Applicative (StateT s m) where
224224
m *> k = m >>= \_ -> k
225225
{-# INLINE (*>) #-}
226226

227-
instance (Functor m, MonadPlus m) => Alternative (StateT s m) where
227+
instance (MonadPlus m) => Alternative (StateT s m) where
228228
empty = StateT $ \ _ -> mzero
229229
{-# INLINE empty #-}
230230
StateT m <|> StateT n = StateT $ \ s -> m s `mplus` n s

Control/Monad/Trans/State/Strict.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ instance (Functor m) => Functor (StateT s m) where
206206
fmap (\ (a, s') -> (f a, s')) $ runStateT m s
207207
{-# INLINE fmap #-}
208208

209-
instance (Functor m, Monad m) => Applicative (StateT s m) where
209+
instance (Monad m) => Applicative (StateT s m) where
210210
pure a = StateT $ \ s -> return (a, s)
211211
{-# INLINE pure #-}
212212
StateT mf <*> StateT mx = StateT $ \ s -> do
@@ -217,7 +217,7 @@ instance (Functor m, Monad m) => Applicative (StateT s m) where
217217
m *> k = m >>= \_ -> k
218218
{-# INLINE (*>) #-}
219219

220-
instance (Functor m, MonadPlus m) => Alternative (StateT s m) where
220+
instance (MonadPlus m) => Alternative (StateT s m) where
221221
empty = StateT $ \ _ -> mzero
222222
{-# INLINE empty #-}
223223
StateT m <|> StateT n = StateT $ \ s -> m s `mplus` n s

Control/Monad/Trans/Writer/CPS.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ instance (Functor m) => Functor (WriterT w m) where
169169
fmap f m = WriterT $ \ w -> (\ (a, w') -> (f a, w')) <$> unWriterT m w
170170
{-# INLINE fmap #-}
171171

172-
instance (Functor m, Monad m) => Applicative (WriterT w m) where
172+
instance (Monad m) => Applicative (WriterT w m) where
173173
pure a = WriterT $ \ w -> return (a, w)
174174
{-# INLINE pure #-}
175175

@@ -179,7 +179,7 @@ instance (Functor m, Monad m) => Applicative (WriterT w m) where
179179
return (f x, w'')
180180
{-# INLINE (<*>) #-}
181181

182-
instance (Functor m, MonadPlus m) => Alternative (WriterT w m) where
182+
instance (MonadPlus m) => Alternative (WriterT w m) where
183183
empty = WriterT $ const mzero
184184
{-# INLINE empty #-}
185185

@@ -208,7 +208,7 @@ instance (Fail.MonadFail m) => Fail.MonadFail (WriterT w m) where
208208
{-# INLINE fail #-}
209209
#endif
210210

211-
instance (Functor m, MonadPlus m) => MonadPlus (WriterT w m) where
211+
instance (MonadPlus m) => MonadPlus (WriterT w m) where
212212
mzero = empty
213213
{-# INLINE mzero #-}
214214
mplus = (<|>)

0 commit comments

Comments
 (0)