packages feed

higher-leveldb 0.5.0.2 → 0.6.0.0

raw patch · 2 files changed

+4/−26 lines, 2 filesdep ~resourcetdep ~unliftio-core

Dependency ranges changed: resourcet, unliftio-core

Files

higher-leveldb.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/  name:                higher-leveldb-version:             0.5.0.2+version:             0.6.0.0 synopsis:            A rich monadic API for working with leveldb databases. description:         A rich monadic API for working with leveldb databases. homepage:            https://github.com/jeremyjh/higher-leveldb@@ -35,7 +35,7 @@                      , resourcet       >=  1.2.0 && <= 1.3                      , transformers >= 0.3 && < 0.6                      , transformers-base >= 0.4.1 && < 0.5-                     , unliftio-core >= 0.1 && < 0.2+                     , unliftio-core >= 0.1 && < 0.3   test-suite spec
src/Database/LevelDB/Higher.hs view
@@ -69,12 +69,10 @@ import           Data.Default                      (def) import qualified Database.LevelDB                  as LDB import           Database.LevelDB-    hiding (put, get, delete, write, withSnapshot)+    hiding (put, get, delete, withSnapshot) import           Control.Monad.Trans.Resource import           Control.Monad.Catch               (MonadCatch (..)                                                    , MonadMask (..))-import           Control.Monad.IO.Unlift- #if MIN_VERSION_mtl(2,2,1) import qualified Control.Monad.Except              as Except #else@@ -83,7 +81,6 @@  import qualified Control.Monad.Trans.Cont          as Cont import qualified Control.Monad.Trans.Identity      as Identity-import qualified Control.Monad.Trans.List          as List import qualified Control.Monad.Trans.Maybe         as Maybe import qualified Control.Monad.Trans.State         as State import qualified Control.Monad.Trans.Writer        as Writer@@ -144,7 +141,7 @@ -- If you aren't building a custom monad stack you can just use the 'LevelDB' alias. newtype LevelDBT m a         =  LevelDBT { unLevelDBT :: ReaderT DBContext (ResourceT m) a }-            deriving ( Functor, Applicative, Monad, MonadIO, MonadThrow)+            deriving ( Functor, Applicative, Monad, MonadIO, MonadThrow, MonadUnliftIO, MonadMask)  instance (MonadBase b m) => MonadBase b (LevelDBT m) where     liftBase = lift . liftBase@@ -159,24 +156,6 @@     catch (LevelDBT m) c =       LevelDBT . ReaderT $ \r -> runReaderT m r `catch` \e -> runReaderT (unLevelDBT (c e)) r -instance MonadMask m => MonadMask (LevelDBT m) where-    mask a = LevelDBT . ReaderT $ \e -> mask $ \u -> runReaderT (unLevelDBT (a $ q u)) e-      where-        q ::  (ResourceT m a -> ResourceT m a) -> LevelDBT m a -> LevelDBT m a-        q u (LevelDBT (ReaderT b)) =-          LevelDBT $ ReaderT (u . b)-    uninterruptibleMask a =-      LevelDBT . ReaderT $ \e -> uninterruptibleMask $ \u -> runReaderT (unLevelDBT (a $ q u)) e-      where-        q ::  (ResourceT m a -> ResourceT m a) -> LevelDBT m a -> LevelDBT m a-        q u (LevelDBT (ReaderT b)) =-          LevelDBT $ ReaderT (u . b)--instance MonadUnliftIO m => MonadUnliftIO (LevelDBT m) where-  askUnliftIO = LevelDBT $-                withUnliftIO $ \u ->-                return (UnliftIO (unliftIO u . unLevelDBT))- -- | MonadLevelDB class used by all the public functions in this module. class ( Monad m       , MonadThrow m@@ -204,7 +183,6 @@ INST(Monad m,ReaderT r, mapReaderT) --Monad m is a no-op to save another define INST(Monad m,Maybe.MaybeT, Maybe.mapMaybeT) INST(Monad m,Identity.IdentityT, Identity.mapIdentityT)-INST(Monad m,List.ListT, List.mapListT) INST(Monad m,Cont.ContT r, Cont.mapContT) INST(Monad m,State.StateT s, State.mapStateT ) INST(Monad m,Strict.StateT s, Strict.mapStateT )