haskey-mtl 0.2.0.0 → 0.3.0.0
raw patch · 3 files changed
+15/−15 lines, 3 filesdep ~haskeydep ~haskey-btreePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: haskey, haskey-btree
API changes (from Hackage documentation)
- Control.Monad.Haskey: instance (Database.Haskey.Alloc.Concurrent.Meta.Root root, GHC.Base.Applicative m, Control.Monad.Catch.MonadMask m, Control.Monad.IO.Class.MonadIO m) => Control.Monad.Haskey.MonadHaskey root (Control.Monad.Haskey.HaskeyT root m)
+ Control.Monad.Haskey: instance (Database.Haskey.Alloc.Concurrent.Internal.Meta.Root root, GHC.Base.Applicative m, Control.Monad.Catch.MonadMask m, Control.Monad.IO.Class.MonadIO m) => Control.Monad.Haskey.MonadHaskey root (Control.Monad.Haskey.HaskeyT root m)
- Control.Monad.Haskey: createConcurrentDb :: (Root root, MonadIO m, MonadMask m, ConcurrentMetaStoreM m) => ConcurrentHandles -> root -> m (ConcurrentDb root)
+ Control.Monad.Haskey: createConcurrentDb :: (Root root, MonadIO m, MonadMask m, ConcurrentMetaStoreM m) => ConcurrentHandles -> root -> m ConcurrentDb root
- Control.Monad.Haskey: openConcurrentDb :: (Root root, MonadIO m, MonadMask m, ConcurrentMetaStoreM m) => ConcurrentHandles -> m (Maybe (ConcurrentDb root))
+ Control.Monad.Haskey: openConcurrentDb :: (Root root, MonadIO m, MonadMask m, ConcurrentMetaStoreM m) => ConcurrentHandles -> m Maybe ConcurrentDb root
Files
- README.md +1/−1
- example/Main.hs +8/−8
- haskey-mtl.cabal +6/−6
README.md view
@@ -8,4 +8,4 @@ A monad transformer supporting Haskey transactions. -See [example/Main.hs](example/Main.hs) for a complete example.+For more information see the [haskey](https://github.com/haskell-haskey/haskey#readme) library.
example/Main.hs view
@@ -14,14 +14,14 @@ import Control.Monad.IO.Class (MonadIO, liftIO) import Data.BTree.Alloc (AllocM, AllocReaderM)-import Data.BTree.Impure (Tree, insertTree, lookupTree, toList)+import Data.BTree.Impure (Tree) import Data.BTree.Primitives (Value) import Data.Binary (Binary) import Data.Foldable (foldlM) import Data.Int (Int64) import Data.Text (Text, unpack) import Data.Typeable (Typeable)-import qualified Data.BTree.Impure as Tree+import qualified Data.BTree.Impure as B import Database.Haskey.Alloc.Concurrent (Root) @@ -73,7 +73,7 @@ instance Root Schema emptySchema :: Schema-emptySchema = Schema Tree.empty Tree.empty+emptySchema = Schema B.empty B.empty schemaTweets :: Lens' Schema (Tree Int64 Tweet) schemaTweets = lens _schemaTweets $ \s x -> s { _schemaTweets = x }@@ -83,23 +83,23 @@ -- | Insert or update a tweet. insertTweet :: AllocM n => Int64 -> Tweet -> Schema -> n Schema-insertTweet k v = schemaTweets %%~ insertTree k v+insertTweet k v = schemaTweets %%~ B.insert k v -- | Query all tweets. queryAllTweets :: AllocReaderM n => Schema -> n [(Int64, Tweet)]-queryAllTweets root = toList (root ^. schemaTweets)+queryAllTweets root = B.toList (root ^. schemaTweets) -- | Query a tweet. queryTweet :: AllocReaderM n => Int64 -> Schema -> n (Maybe Tweet)-queryTweet k root = lookupTree k (root ^. schemaTweets)+queryTweet k root = B.lookup k (root ^. schemaTweets) -- | Insert a new user. insertUser :: AllocM n => Text -> User -> Schema -> n Schema-insertUser k v = schemaUsers %%~ insertTree k v+insertUser k v = schemaUsers %%~ B.insert k v -- | Quer a user. queryUser :: AllocReaderM n => Text -> Schema -> n (Maybe User)-queryUser userId root = lookupTree userId (root ^. schemaUsers)+queryUser userId root = B.lookup userId (root ^. schemaUsers) -------------------------------------------------------------------------------- -- Our main application.
haskey-mtl.cabal view
@@ -1,5 +1,5 @@ name: haskey-mtl-version: 0.2.0.0+version: 0.3.0.0 synopsis: A monad transformer supporting Haskey transactions. description: This library provides a monad transformer supporting Haskey transactions,@@ -28,8 +28,8 @@ exceptions >=0.8.3 && <0.9, mtl >=2.1 && <3, transformers >=0.3 && <1,- haskey-btree >=0.2 && <1,- haskey >=0.2 && <1+ haskey-btree >=0.3 && <0.4,+ haskey >=0.3 && <0.4 default-language: Haskell2010 ghc-options: -Wall@@ -40,9 +40,9 @@ hs-source-dirs: example main-is: Main.hs build-depends:- base >= 4.7 && <5,- haskey >=0.2 && <1,- haskey-btree >=0.2 && <1,+ base >=4.7 && <5,+ haskey >=0.3 && <0.4,+ haskey-btree >=0.3 && <0.4, haskey-mtl, binary >=0.6 && <0.9 || >0.9 && <1, exceptions >=0.8.3 && <0.9,