packages feed

deriving-trans 0.5.0.0 → 0.5.0.1

raw patch · 4 files changed

+19/−20 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for deriving-trans +## 0.5.0.1 *04 Aug 2022*++* Improve Haddock examples.+ ## 0.5.0.0 *25 Jul 2022*  * Add module `Control.Monad.Trans.Compose.Infix`.
deriving-trans.cabal view
@@ -1,6 +1,6 @@ cabal-version:       3.0 name:                deriving-trans-version:             0.5.0.0+version:             0.5.0.1 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
@@ -349,12 +349,12 @@ -- Create a monad transformer stack and wrap it using a newtype. -- -- @--- type Stack = t'Control.Monad.Trans.Compose.Transparent.TransparentT' t'Control.Monad.Trans.Compose.Infix..|>' 'T.ReaderT' 'Bool' t'Control.Monad.Trans.Compose.Infix..|>' CustomT t'Control.Monad.Trans.Compose.Infix..|>' 'T.ReaderT' 'Char' t'Control.Monad.Trans.Compose.Infix..|>' 'LT.StateT' 'Int'--- newtype StackT m a = StackT { unStackT :: Stack m a }+-- type AppStackT = t'Control.Monad.Trans.Compose.Transparent.TransparentT' t'Control.Monad.Trans.Compose.Infix..|>' 'T.ReaderT' 'Bool' t'Control.Monad.Trans.Compose.Infix..|>' CustomT t'Control.Monad.Trans.Compose.Infix..|>' 'T.ReaderT' 'Char' t'Control.Monad.Trans.Compose.Infix..|>' 'LT.StateT' 'Int'+-- newtype AppT m a = AppT { unAppT :: AppStackT m a } --   deriving newtype ('Functor', 'Applicative', 'Monad') -- @ ----- Using t'Control.Monad.Trans.Compose.Infix..|>' we can write @Stack@ in the order of initialization.+-- Using t'Control.Monad.Trans.Compose.Infix..|>' we can write @AppStackT@ in the order of initialization. -- We are adding t'Control.Monad.Trans.Compose.Transparent.TransparentT' to the bottom of the stack, -- so that all the other transformer instances actually end up in the stack. -- Now we can simply derive just the instances, that we want.@@ -381,16 +381,14 @@ -- With 'Control.Monad.Trans.Compose.Infix...>' we can use the order of initialization again. -- -- @--- runStackT :: 'MonadBaseControl' 'IO' m---           => StackT m a---           -> m ('StT' StackT a)--- runStackT stackTma =+-- runAppT :: AppT m a -> m ('StT' AppT a)+-- runAppT appTma = --   'Control.Monad.Trans.Compose.Transparent.runTransparentT' --     'Control.Monad.Trans.Compose.Infix../>' (\\ tma -> 'T.runReaderT' tma 'True') --     'Control.Monad.Trans.Compose.Infix../>' runCustomT --     'Control.Monad.Trans.Compose.Infix../>' runReaderT' --     'Control.Monad.Trans.Compose.Infix../>' runStateT'---     $ unStackT stackTma+--     $ unAppT appTma --  where --   runReaderT' :: 'MonadReader' 'Bool' m => 'T.ReaderT' 'Char' m a -> m a --   runReaderT' tma = do
src/Control/Monad/Trans/Compose/Stack.hs view
@@ -98,7 +98,7 @@ -- -- @ -- type AppStack = 'NilT' ':.|>' t'Control.Monad.Trans.Reader.ReaderT' 'Bool' ':.|>' CustomT ':.|>' t'Control.Monad.Trans.Reader.ReaderT' 'Char'--- newtype AppStackT m a = AppStackT { unAppStackT :: StackT AppStack m a }+-- newtype AppT m a = AppT { unAppT :: StackT AppStack m a } --   deriving newtype ('Functor', 'Applicative', 'Monad') --   deriving newtype ('Control.Monad.Trans.Class.MonadTrans', t'Control.Monad.Trans.Control.MonadTransControl', t'Control.Monad.Trans.Control.Identity.MonadTransControlIdentity') --   deriving newtype MonadCustom@@ -112,20 +112,17 @@ -- Use 'runStackT' and supply it with a 'RunStackT' argument. -- -- @--- runAppStackT :: t'Control.Monad.Trans.Control.MonadBaseControl' 'IO' m---              => AppStackT m a---              -> m a--- runAppStackT stackTma = runStackT runAccStackT $ unStackT stackTma+-- runAppT :: AppT m a -> m a+-- runAppT appTma = 'runStackT' runAppStackT $ unAppT appTma --  where---   runAccStackT :: RunStackT AppStack---   runAccStackT = RunNilT---     :..> (\\ tma -> 'Control.Monad.Trans.Reader.runReaderT' tma 'True')---     :..> runCustomT---     :..> runReaderT'+--   runAppStackT = 'RunNilT'+--     ':..>' (\\ tma -> 'Control.Monad.Trans.Reader.runReaderT' tma 'True')+--     ':..>' runCustomT+--     ':..>' runReaderT' -- --   runReaderT' :: t'Control.Monad.Reader.Class.MonadReader' 'Bool' m => t'Control.Monad.Trans.Reader.ReaderT' 'Char' m a -> m a --   runReaderT' tma = do---     bool <- 'ask'+--     bool <- 'Control.Monad.Trans.Reader.ask' --     let char = if bool then \'Y\' else \'N\' --     'Control.Monad.Trans.Reader.runReaderT' tma char -- @