Skip to content

Commit 86d9fbd

Browse files
authored
drop redundant constraints, add cabal.project, more cleanup
2 parents 1c0ff52 + fcf19f7 commit 86d9fbd

20 files changed

Lines changed: 80 additions & 89 deletions

File tree

Control/Applicative/Lift.hs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ import Data.Functor.Classes
3636
import Control.Applicative
3737
import Data.Functor.Constant
3838
import Data.Foldable (Foldable(foldMap))
39-
import Data.Monoid (Monoid(..))
4039
import Data.Traversable (Traversable(traverse))
4140
#ifdef __GLASGOW_HASKELL__
4241
import GHC.Generics

Control/Monad/Trans/Accum.hs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@ import Control.Monad
6262
import qualified Control.Monad.Fail as Fail
6363
import Control.Monad.Fix
6464
import Control.Monad.Signatures
65-
import Data.Monoid
6665
#ifdef __GLASGOW_HASKELL__
6766
import GHC.Generics
6867
#endif
@@ -106,7 +105,7 @@ execAccum m w = snd (runAccum m w)
106105
-- and return the final value, discarding the final output.
107106
--
108107
-- * @'evalAccum' m w = 'fst' ('runAccum' m w)@
109-
evalAccum :: (Monoid w) => Accum w a -> w -> a
108+
evalAccum :: Accum w a -> w -> a
110109
evalAccum m w = fst (runAccum m w)
111110
{-# INLINE evalAccum #-}
112111

@@ -164,7 +163,7 @@ execAccumT m w = do
164163
-- history and return the final value, discarding the final output.
165164
--
166165
-- * @'evalAccumT' m w = 'liftM' 'fst' ('runAccumT' m w)@
167-
evalAccumT :: (Monad m, Monoid w) => AccumT w m a -> w -> m a
166+
evalAccumT :: (Monad m) => AccumT w m a -> w -> m a
168167
evalAccumT m w = do
169168
~(a, _) <- runAccumT m w
170169
return a
@@ -182,7 +181,7 @@ instance (Functor m) => Functor (AccumT w m) where
182181
fmap f = mapAccumT $ fmap $ \ ~(a, w) -> (f a, w)
183182
{-# INLINE fmap #-}
184183

185-
instance (Monoid w, Functor m, Monad m) => Applicative (AccumT w m) where
184+
instance (Monoid w, Monad m) => Applicative (AccumT w m) where
186185
pure a = AccumT $ const $ return (a, mempty)
187186
{-# INLINE pure #-}
188187
mf <*> mv = AccumT $ \ w -> do
@@ -191,13 +190,13 @@ instance (Monoid w, Functor m, Monad m) => Applicative (AccumT w m) where
191190
return (f v, w' `mappend` w'')
192191
{-# INLINE (<*>) #-}
193192

194-
instance (Monoid w, Functor m, MonadPlus m) => Alternative (AccumT w m) where
193+
instance (Monoid w, MonadPlus m) => Alternative (AccumT w m) where
195194
empty = AccumT $ const mzero
196195
{-# INLINE empty #-}
197196
m <|> n = AccumT $ \ w -> runAccumT m w `mplus` runAccumT n w
198197
{-# INLINE (<|>) #-}
199198

200-
instance (Monoid w, Functor m, Monad m) => Monad (AccumT w m) where
199+
instance (Monoid w, Monad m) => Monad (AccumT w m) where
201200
m >>= k = AccumT $ \ w -> do
202201
~(a, w') <- runAccumT m w
203202
~(b, w'') <- runAccumT (k a) (w `mappend` w')
@@ -208,13 +207,13 @@ instance (Monoid w, Fail.MonadFail m) => Fail.MonadFail (AccumT w m) where
208207
fail msg = AccumT $ const (Fail.fail msg)
209208
{-# INLINE fail #-}
210209

211-
instance (Monoid w, Functor m, MonadPlus m) => MonadPlus (AccumT w m) where
210+
instance (Monoid w, MonadPlus m) => MonadPlus (AccumT w m) where
212211
mzero = AccumT $ const mzero
213212
{-# INLINE mzero #-}
214213
m `mplus` n = AccumT $ \ w -> runAccumT m w `mplus` runAccumT n w
215214
{-# INLINE mplus #-}
216215

217-
instance (Monoid w, Functor m, MonadFix m) => MonadFix (AccumT w m) where
216+
instance (Monoid w, MonadFix m) => MonadFix (AccumT w m) where
218217
mfix m = AccumT $ \ w -> mfix $ \ ~(a, _) -> runAccumT (m a) w
219218
{-# INLINE mfix #-}
220219

@@ -224,7 +223,7 @@ instance (Monoid w) => MonadTrans (AccumT w) where
224223
return (a, mempty)
225224
{-# INLINE lift #-}
226225

227-
instance (Monoid w, Functor m, MonadIO m) => MonadIO (AccumT w m) where
226+
instance (Monoid w, MonadIO m) => MonadIO (AccumT w m) where
228227
liftIO = lift . liftIO
229228
{-# INLINE liftIO #-}
230229

Control/Monad/Trans/Cont.hs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ import Control.Monad.IO.Class
4646
import Control.Monad.Trans.Class
4747
import Data.Functor.Identity
4848

49-
import Control.Applicative
5049
import qualified Control.Monad.Fail as Fail
5150
#ifdef __GLASGOW_HASKELL__
5251
import GHC.Generics

Control/Monad/Trans/Except.hs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ import qualified Control.Monad.Fail as Fail
6060
import Control.Monad.Fix
6161
import Control.Monad.Zip (MonadZip(mzipWith))
6262
import Data.Foldable (Foldable(foldMap))
63-
import Data.Monoid (Monoid(mempty, mappend))
6463
import Data.Traversable (Traversable(traverse))
6564
#ifdef __GLASGOW_HASKELL__
6665
import GHC.Generics
@@ -183,7 +182,7 @@ instance (Traversable f) => Traversable (ExceptT e f) where
183182
ExceptT <$> traverse (either (pure . Left) (fmap Right . f)) a
184183
{-# INLINE traverse #-}
185184

186-
instance (Functor m, Monad m) => Applicative (ExceptT e m) where
185+
instance (Monad m) => Applicative (ExceptT e m) where
187186
pure a = ExceptT $ return (Right a)
188187
{-# INLINE pure #-}
189188
ExceptT f <*> ExceptT v = ExceptT $ do
@@ -199,7 +198,7 @@ instance (Functor m, Monad m) => Applicative (ExceptT e m) where
199198
m *> k = m >>= \_ -> k
200199
{-# INLINE (*>) #-}
201200

202-
instance (Functor m, Monad m, Monoid e) => Alternative (ExceptT e m) where
201+
instance (Monad m, Monoid e) => Alternative (ExceptT e m) where
203202
empty = ExceptT $ return (Left mempty)
204203
{-# INLINE empty #-}
205204
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
@@ -131,7 +131,7 @@ instance (Traversable f) => Traversable (MaybeT f) where
131131
traverse f (MaybeT a) = MaybeT <$> traverse (traverse f) a
132132
{-# INLINE traverse #-}
133133

134-
instance (Functor m, Monad m) => Applicative (MaybeT m) where
134+
instance (Monad m) => Applicative (MaybeT m) where
135135
pure = MaybeT . return . Just
136136
{-# INLINE pure #-}
137137
mf <*> mx = MaybeT $ do
@@ -147,7 +147,7 @@ instance (Functor m, Monad m) => Applicative (MaybeT m) where
147147
m *> k = m >>= \_ -> k
148148
{-# INLINE (*>) #-}
149149

150-
instance (Functor m, Monad m) => Alternative (MaybeT m) where
150+
instance (Monad m) => Alternative (MaybeT m) where
151151
empty = MaybeT (return Nothing)
152152
{-# INLINE empty #-}
153153
x <|> y = MaybeT $ do

Control/Monad/Trans/RWS/CPS.hs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,6 @@ import Control.Monad.Trans.Class
7171
import Control.Monad.Signatures
7272
import Data.Functor.Identity
7373

74-
import Data.Monoid
75-
7674
import qualified Control.Monad.Fail as Fail
7775
#ifdef __GLASGOW_HASKELL__
7876
import GHC.Generics
@@ -205,7 +203,7 @@ instance (Functor m) => Functor (RWST r w s m) where
205203
fmap f m = RWST $ \ r s w -> (\ (a, s', w') -> (f a, s', w')) <$> unRWST m r s w
206204
{-# INLINE fmap #-}
207205

208-
instance (Functor m, Monad m) => Applicative (RWST r w s m) where
206+
instance (Monad m) => Applicative (RWST r w s m) where
209207
pure a = RWST $ \ _ s w -> return (a, s, w)
210208
{-# INLINE pure #-}
211209

@@ -215,7 +213,7 @@ instance (Functor m, Monad m) => Applicative (RWST r w s m) where
215213
return (f x, s'', w'')
216214
{-# INLINE (<*>) #-}
217215

218-
instance (Functor m, MonadPlus m) => Alternative (RWST r w s m) where
216+
instance (MonadPlus m) => Alternative (RWST r w s m) where
219217
empty = RWST $ \ _ _ _ -> mzero
220218
{-# INLINE empty #-}
221219

@@ -233,7 +231,7 @@ instance (Fail.MonadFail m) => Fail.MonadFail (RWST r w s m) where
233231
fail msg = RWST $ \ _ _ _ -> Fail.fail msg
234232
{-# INLINE fail #-}
235233

236-
instance (Functor m, MonadPlus m) => MonadPlus (RWST r w s m) where
234+
instance (MonadPlus m) => MonadPlus (RWST r w s m) where
237235
mzero = empty
238236
{-# INLINE mzero #-}
239237
mplus = (<|>)

Control/Monad/Trans/RWS/Lazy.hs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ import Control.Applicative
6868
import Control.Monad
6969
import qualified Control.Monad.Fail as Fail
7070
import Control.Monad.Fix
71-
import Data.Monoid
7271
#ifdef __GLASGOW_HASKELL__
7372
import GHC.Generics
7473
#endif
@@ -179,7 +178,7 @@ instance (Functor m) => Functor (RWST r w s m) where
179178
fmap (\ ~(a, s', w) -> (f a, s', w)) $ runRWST m r s
180179
{-# INLINE fmap #-}
181180

182-
instance (Monoid w, Functor m, Monad m) => Applicative (RWST r w s m) where
181+
instance (Monoid w, Monad m) => Applicative (RWST r w s m) where
183182
pure a = RWST $ \ _ s -> return (a, s, mempty)
184183
{-# INLINE pure #-}
185184
RWST mf <*> RWST mx = RWST $ \ r s -> do
@@ -188,7 +187,7 @@ instance (Monoid w, Functor m, Monad m) => Applicative (RWST r w s m) where
188187
return (f x, s'', w `mappend` w')
189188
{-# INLINE (<*>) #-}
190189

191-
instance (Monoid w, Functor m, MonadPlus m) => Alternative (RWST r w s m) where
190+
instance (Monoid w, MonadPlus m) => Alternative (RWST r w s m) where
192191
empty = RWST $ \ _ _ -> mzero
193192
{-# INLINE empty #-}
194193
RWST m <|> RWST n = RWST $ \ r s -> m r s `mplus` n r s

Control/Monad/Trans/RWS/Strict.hs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@ import Control.Applicative
7171
import Control.Monad
7272
import qualified Control.Monad.Fail as Fail
7373
import Control.Monad.Fix
74-
import Data.Monoid
7574
#ifdef __GLASGOW_HASKELL__
7675
import GHC.Generics
7776
#endif
@@ -183,7 +182,7 @@ instance (Functor m) => Functor (RWST r w s m) where
183182
fmap (\ (a, s', w) -> (f a, s', w)) $ runRWST m r s
184183
{-# INLINE fmap #-}
185184

186-
instance (Monoid w, Functor m, Monad m) => Applicative (RWST r w s m) where
185+
instance (Monoid w, Monad m) => Applicative (RWST r w s m) where
187186
pure a = RWST $ \ _ s -> return (a, s, mempty)
188187
{-# INLINE pure #-}
189188
RWST mf <*> RWST mx = RWST $ \ r s -> do
@@ -192,7 +191,7 @@ instance (Monoid w, Functor m, Monad m) => Applicative (RWST r w s m) where
192191
return (f x, s'', w `mappend` w')
193192
{-# INLINE (<*>) #-}
194193

195-
instance (Monoid w, Functor m, MonadPlus m) => Alternative (RWST r w s m) where
194+
instance (Monoid w, MonadPlus m) => Alternative (RWST r w s m) where
196195
empty = RWST $ \ _ _ -> mzero
197196
{-# INLINE empty #-}
198197
RWST m <|> RWST n = RWST $ \ r s -> m r s `mplus` n r s

Control/Monad/Trans/Reader.hs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ import Control.Monad
5050
import qualified Control.Monad.Fail as Fail
5151
import Control.Monad.Fix
5252
import Control.Monad.Zip (MonadZip(mzipWith))
53-
import Data.Functor ((<$))
5453
#ifdef __GLASGOW_HASKELL__
5554
import GHC.Generics
5655
#endif

Control/Monad/Trans/Select.hs

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

100-
instance (Functor m, Monad m) => Applicative (SelectT r m) where
100+
instance (Monad m) => Applicative (SelectT r m) where
101101
pure = lift . return
102102
{-# INLINE pure #-}
103103
SelectT gf <*> SelectT gx = SelectT $ \ k -> do
@@ -108,7 +108,7 @@ instance (Functor m, Monad m) => Applicative (SelectT r m) where
108108
m *> k = m >>= \_ -> k
109109
{-# INLINE (*>) #-}
110110

111-
instance (Functor m, MonadPlus m) => Alternative (SelectT r m) where
111+
instance (MonadPlus m) => Alternative (SelectT r m) where
112112
empty = mzero
113113
{-# INLINE empty #-}
114114
(<|>) = mplus

0 commit comments

Comments
 (0)