packages feed

transformers 0.5.3.0 → 0.5.3.1

raw patch · 4 files changed

+17/−14 lines, 4 filesdep ~base

Dependency ranges changed: base

Files

Control/Monad/Trans/Accum.hs view
@@ -167,8 +167,8 @@     fmap f = mapAccumT $ fmap $ \ ~(a, w) -> (f a, w)     {-# INLINE fmap #-} -instance (Monoid w, Monad m) => Applicative (AccumT w m) where-    pure a  = AccumT $ const $ pure (a, mempty)+instance (Monoid w, Functor m, Monad m) => Applicative (AccumT w m) where+    pure a  = AccumT $ const $ return (a, mempty)     {-# INLINE pure #-}     mf <*> mv = AccumT $ \ w -> do       ~(f, w')  <- runAccumT mf w@@ -176,15 +176,15 @@       return (f v, w' `mappend` w'')     {-# INLINE (<*>) #-} -instance (Monoid w, MonadPlus m) => Alternative (AccumT w m) where+instance (Monoid w, Functor m, MonadPlus m) => Alternative (AccumT w m) where     empty   = AccumT $ const mzero     {-# INLINE empty #-}-    m <|> n = AccumT $ \ w -> runAccumT m w <|> runAccumT n w+    m <|> n = AccumT $ \ w -> runAccumT m w `mplus` runAccumT n w     {-# INLINE (<|>) #-} -instance (Monoid w, Monad m) => Monad (AccumT w m) where+instance (Monoid w, Functor m, Monad m) => Monad (AccumT w m) where #if !(MIN_VERSION_base(4,8,0))-    return a = AccumT $ const $ return (a, mempty)+    return a  = AccumT $ const $ return (a, mempty)     {-# INLINE return #-} #endif     m >>= k  = AccumT $ \ w -> do@@ -201,13 +201,13 @@     {-# INLINE fail #-} #endif -instance (Monoid w, MonadPlus m) => MonadPlus (AccumT w m) where+instance (Monoid w, Functor m, MonadPlus m) => MonadPlus (AccumT w m) where     mzero       = AccumT $ const mzero     {-# INLINE mzero #-}     m `mplus` n = AccumT $ \ w -> runAccumT m w `mplus` runAccumT n w     {-# INLINE mplus #-} -instance (Monoid w, MonadFix m) => MonadFix (AccumT w m) where+instance (Monoid w, Functor m, MonadFix m) => MonadFix (AccumT w m) where     mfix m = AccumT $ \ w -> mfix $ \ ~(a, _) -> runAccumT (m a) w     {-# INLINE mfix #-} @@ -217,7 +217,7 @@         return (a, mempty)     {-# INLINE lift #-} -instance (Monoid w, MonadIO m) => MonadIO (AccumT w m) where+instance (Monoid w, Functor m, MonadIO m) => MonadIO (AccumT w m) where     liftIO = lift . liftIO     {-# INLINE liftIO #-} 
Control/Monad/Trans/Select.hs view
@@ -81,8 +81,8 @@     fmap f (SelectT g) = SelectT (fmap f . g . (. f))     {-# INLINE fmap #-} -instance (Monad m) => Applicative (SelectT r m) where-    pure = lift . pure+instance (Functor m, Monad m) => Applicative (SelectT r m) where+    pure = lift . return     {-# INLINE pure #-}     SelectT gf <*> SelectT gx = SelectT $ \ k -> do         let h f = liftM f (gx (k . f))@@ -90,7 +90,7 @@         h f     {-# INLINE (<*>) #-} -instance (MonadPlus m) => Alternative (SelectT r m) where+instance (Functor m, MonadPlus m) => Alternative (SelectT r m) where     empty = mzero     {-# INLINE empty #-}     (<|>) = mplus@@ -98,7 +98,7 @@  instance (Monad m) => Monad (SelectT r m) where #if !(MIN_VERSION_base(4,8,0))-    return = pure+    return = lift . return     {-# INLINE return #-} #endif     SelectT g >>= f = SelectT $ \ k -> do
changelog view
@@ -1,5 +1,8 @@ -*-change-log-*- +0.5.3.1 Ross Paterson <R.Paterson@city.ac.uk> Feb 2017+	* Fixed for pre-AMP environments+ 0.5.3.0 Ross Paterson <R.Paterson@city.ac.uk> Feb 2017 	* Added AccumT and SelectT monad transformers 	* Deprecated ListT
transformers.cabal view
@@ -1,5 +1,5 @@ name:         transformers-version:      0.5.3.0+version:      0.5.3.1 license:      BSD3 license-file: LICENSE author:       Andy Gill, Ross Paterson