acid-state 0.6.2 → 0.6.3
raw patch · 2 files changed
+19/−11 lines, 2 filesdep ~bytestringPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: bytestring
API changes (from Hackage documentation)
Files
- acid-state.cabal +8/−2
- src/Data/Acid/Common.hs +11/−9
acid-state.cabal view
@@ -7,7 +7,7 @@ -- The package version. See the Haskell package versioning policy -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for -- standards guiding when and how versions should be incremented.-Version: 0.6.2+Version: 0.6.3 -- A short (one-line) description of the package. Synopsis: Add ACID guarantees to any serializable Haskell data structure.@@ -42,7 +42,11 @@ -- Constraint on the version of Cabal needed to build this package. Cabal-version: >=1.6 +Source-repository head+ type: darcs+ location: http://mirror.seize.it/acid-state/ + Library -- Modules exported by the library. Exposed-Modules: Data.Acid,@@ -57,7 +61,9 @@ Data.Acid.Abstract, Data.Acid.Core -- Packages needed in order to build this package.- Build-depends: base >= 4 && < 5, cereal >= 0.3.2.0, safecopy >= 0.6, bytestring, stm,+ -- We need hGetSome from bytestring, added in 0.9.1.8+ Build-depends: base >= 4 && < 5, cereal >= 0.3.2.0, safecopy >= 0.6,+ bytestring >= 0.9.1.8, stm, filepath, directory, mtl, array, containers, template-haskell, network if os(windows)
src/Data/Acid/Common.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE CPP, GeneralizedNewtypeDeriving, GADTs #-}+{-# LANGUAGE GeneralizedNewtypeDeriving, GADTs #-} ----------------------------------------------------------------------------- -- | -- Module : Data.Acid.Common@@ -32,19 +32,21 @@ -- | Context monad for Update events. newtype Update st a = Update { unUpdate :: State st a }-#if MIN_VERSION_mtl(2,0,0)- deriving (Monad, Functor, Applicative, MonadState st)-#else deriving (Monad, Functor, MonadState st)-#endif +-- mtl pre-2.0 doesn't have these instances to newtype-derive, but they're+-- simple enough.+instance Applicative (Update st) where+ pure = return+ (<*>) = ap+ -- | Context monad for Query events. newtype Query st a = Query { unQuery :: Reader st a }-#if MIN_VERSION_mtl(2,0,0)- deriving (Monad, Functor, Applicative, MonadReader st)-#else deriving (Monad, Functor, MonadReader st)-#endif++instance Applicative (Query st) where+ pure = return+ (<*>) = ap -- | Run a query in the Update Monad. runQuery :: Query st a -> Update st a