packages feed

di-monad 1.0 → 1.0.1

raw patch · 3 files changed

+22/−12 lines, 3 files

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+# Version 1.0.1++* Backwards compatibility with `transformers < 0.5.3`.+ # Version 1.0  * This is a new library part of the `di-core` ecosystem.
di-monad.cabal view
@@ -1,5 +1,5 @@ name: di-monad-version: 1.0+version: 1.0.1 author: Renzo Carbonara maintainer: renλren.zone copyright: Renzo Carbonara 2017-2018
lib/Di/Monad.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FunctionalDependencies #-}@@ -73,10 +74,8 @@ import Control.Monad.State (MonadState) import qualified Control.Monad.State.Lazy as SL import qualified Control.Monad.State.Strict as SS-import Control.Monad.Trans.Accum (AccumT(AccumT)) import Control.Monad.Trans.Class (MonadTrans, lift) import Control.Monad.Trans.Maybe (MaybeT(MaybeT))-import Control.Monad.Trans.Select (SelectT(SelectT)) import Control.Monad.Writer (MonadWriter) import qualified Control.Monad.Writer.Lazy as WL import qualified Control.Monad.Writer.Strict as WS@@ -86,6 +85,11 @@ import qualified Pipes.Internal as P import Prelude hiding (filter, error, log) +#if MIN_VERSION_transformers(0,5,3)+import Control.Monad.Trans.Accum (AccumT(AccumT))+import Control.Monad.Trans.Select (SelectT(SelectT))+#endif+ import Di.Core (Di) import qualified Di.Core as Di @@ -432,11 +436,6 @@   {-# INLINE local #-}  instance (Monoid w, MonadDi level path msg m)-  => MonadDi level path msg (AccumT w m) where-  local f = \(AccumT gma) -> AccumT (\w -> local f (gma w))-  {-# INLINE local #-}--instance (Monoid w, MonadDi level path msg m)   => MonadDi level path msg (WS.WriterT w m) where   local f = \(WS.WriterT ma) -> WS.WriterT (local f ma)   {-# INLINE local #-}@@ -462,10 +461,6 @@   local f = \(ContT gma) -> ContT (\r -> local f (gma r))   {-# INLINE local #-} -instance MonadDi level path msg m => MonadDi level path msg (SelectT r m) where-  local f = \(SelectT gma) -> SelectT (\r -> local f (gma r))-  {-# INLINE local #-}- instance (Monoid w, MonadDi level path msg m)   => MonadDi level path msg (RWSS.RWST r w s m) where   local f = \(RWSS.RWST gma) -> RWSS.RWST (\r s -> local f (gma r s))@@ -475,6 +470,17 @@   => MonadDi level path msg (RWSL.RWST r w s m) where   local f = \(RWSL.RWST gma) -> RWSL.RWST (\r s -> local f (gma r s))   {-# INLINE local #-}++#if MIN_VERSION_transformers(0,5,3)+instance (Monoid w, MonadDi level path msg m)+  => MonadDi level path msg (AccumT w m) where+  local f = \(AccumT gma) -> AccumT (\w -> local f (gma w))+  {-# INLINE local #-}++instance MonadDi level path msg m => MonadDi level path msg (SelectT r m) where+  local f = \(SelectT gma) -> SelectT (\r -> local f (gma r))+  {-# INLINE local #-}+#endif  instance MonadDi level path msg m   => MonadDi level path msg (P.Proxy a' a b' b m) where