packages feed

deriving-trans 0.3.0.0 → 0.3.1.0

raw patch · 4 files changed

+11/−2 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Control.Monad.Trans.Elevator: instance (GHC.Base.Monad (t m), Control.Monad.Trans.Control.MonadTransControl t, Control.Monad.Fix.MonadFix m) => Control.Monad.Fix.MonadFix (Control.Monad.Trans.Elevator.Elevator t m)

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for deriving-trans +## 0.3.1.0 *08 Feb 2022*++* Add `MonadFix` instance to `Elevator`.+ ## 0.3.0.0 *04 Feb 2022*  * Add "base-case" instances for both lazy and strict transformers (from mtl) to `ComposeT`.
deriving-trans.cabal view
@@ -1,6 +1,6 @@ cabal-version:       3.0 name:                deriving-trans-version:             0.3.0.0+version:             0.3.1.0 synopsis:            Derive instances for monad transformer stacks description:         Implementing instances for monad transformer stacks can be tedious.                      <https://hackage.haskell.org/package/mtl mtl> defines each instance for each
src/Control/Monad/Trans/Compose.hs view
@@ -289,7 +289,7 @@ -- -- @ -- deriving via 'Elevator' t1 (t2 (m :: * -> *))---   instance {-# OVERLAPPABLE #-}+--   instance {-\# OVERLAPPABLE \#-} --     ( 'Monad' (t1 (t2 m)) --     , 'MonadTransControl' t1 --     , MonadCustom (t2 m)
src/Control/Monad/Trans/Elevator.hs view
@@ -7,6 +7,7 @@ import Control.Monad.Base import Control.Monad.Cont.Class import Control.Monad.Error.Class+import Control.Monad.Fix import Control.Monad.Reader.Class import Control.Monad.RWS.Class (MonadRWS) import Control.Monad.State.Class@@ -54,6 +55,10 @@  instance (Monad (t m), MonadTrans t, MonadFail m) => MonadFail (Elevator t m) where   fail = lift . fail++instance (Monad (t m), MonadTransControl t, MonadFix m) => MonadFix (Elevator t m) where+  mfix f = (restoreT . pure =<<) $ liftWith $ \ runT ->+    mfix $ \ x -> runT $ (f =<<) $ restoreT $ pure x  instance (Monad (t m), MonadTrans t, MonadIO m) => MonadIO (Elevator t m) where   liftIO = lift . liftIO