packages feed

incremental 0.3 → 0.3.1

raw patch · 3 files changed

+17/−4 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.Incremental: instance (Data.Incremental.Incremental a, GHC.Base.Monoid d, d GHC.Types.~ Data.Incremental.Delta a) => GHC.Base.Monoid (Data.Incremental.Alter a d)
- Data.Incremental: instance (Data.Incremental.Incremental a, d GHC.Types.~ Data.Incremental.Delta a, GHC.Base.Semigroup d) => GHC.Base.Semigroup (Data.Incremental.Alter a d)
+ Data.Incremental: WrapDelta :: Maybe (Delta (h x)) -> WrapDelta h x
+ Data.Incremental: [unwrapDelta] :: WrapDelta h x -> Maybe (Delta (h x))
+ Data.Incremental: instance (Data.Incremental.Incremental a, GHC.Base.Monoid d, d Data.Type.Equality.~ Data.Incremental.Delta a) => GHC.Base.Monoid (Data.Incremental.Alter a d)
+ Data.Incremental: instance (Data.Incremental.Incremental a, d Data.Type.Equality.~ Data.Incremental.Delta a, GHC.Base.Semigroup d) => GHC.Base.Semigroup (Data.Incremental.Alter a d)
+ Data.Incremental: instance (GHC.Classes.Eq a, GHC.Classes.Eq d) => GHC.Classes.Eq (Data.Incremental.Alter a d)
+ Data.Incremental: instance (GHC.Classes.Ord a, GHC.Classes.Ord d) => GHC.Classes.Ord (Data.Incremental.Alter a d)
+ Data.Incremental: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Data.Incremental.Fresh a)
+ Data.Incremental: instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Data.Incremental.Hetero a)
+ Data.Incremental: instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Data.Incremental.Fresh a)
+ Data.Incremental: instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Data.Incremental.Hetero a)
+ Data.Incremental: instance forall k (h :: k -> *) (x :: k). Data.Aeson.Types.FromJSON.FromJSON (Data.Incremental.Delta (h x)) => Data.Aeson.Types.FromJSON.FromJSON (Data.Incremental.WrapDelta h x)
+ Data.Incremental: instance forall k (h :: k -> *) (x :: k). Data.Aeson.Types.ToJSON.ToJSON (Data.Incremental.Delta (h x)) => Data.Aeson.Types.ToJSON.ToJSON (Data.Incremental.WrapDelta h x)
+ Data.Incremental: instance forall k (h :: k -> *) (x :: k). GHC.Classes.Eq (Data.Incremental.Delta (h x)) => GHC.Classes.Eq (Data.Incremental.WrapDelta h x)
+ Data.Incremental: instance forall k (h :: k -> *) (x :: k). GHC.Classes.Ord (Data.Incremental.Delta (h x)) => GHC.Classes.Ord (Data.Incremental.WrapDelta h x)
+ Data.Incremental: instance forall k (h :: k -> *) (x :: k). GHC.Show.Show (Data.Incremental.Delta (h x)) => GHC.Show.Show (Data.Incremental.WrapDelta h x)
+ Data.Incremental: newtype WrapDelta h x

Files

CHANGELOG.md view
@@ -1,6 +1,9 @@ incremental ==== +* Added `Eq`, `Ord` instances to `Alter`+* Added `WrapDelta`+ 0.3 ---- 
incremental.cabal view
@@ -1,5 +1,5 @@ name:                incremental-version:             0.3+version:             0.3.1 synopsis:            incremental update library description:         Generic interface for incremental updates homepage:            https://github.com/fumieval/incremental#readme
src/Data/Incremental.hs view
@@ -17,6 +17,7 @@   , Alter(..)   , Hetero(..)   , Fresh(..)+  , WrapDelta(..) ) where  import Control.Applicative@@ -75,7 +76,7 @@   | Delete a -- ^ last value   | Delete_   | Upsert a d-  deriving (Generic, Functor)+  deriving (Generic, Functor, Eq, Ord)  deriving instance (Show a, Show d) => Show (Alter a d) instance (NFData a, NFData d) => NFData (Alter a d)@@ -174,7 +175,7 @@  newtype Hetero a = Hetero { getHetero :: a }   deriving (Bounded, Enum, Eq, Floating, Fractional, Integral, Semigroup-      , Monoid, Num, Ord, Real, RealFrac, RealFloat, Generic, NFData)+      , Monoid, Num, Ord, Real, RealFrac, RealFloat, Generic, NFData, J.FromJSON, J.ToJSON)  -- | 'diff' checks equality instance Eq a => Incremental (Hetero a) where@@ -186,7 +187,7 @@  newtype Fresh a = Fresh { getFresh :: a }   deriving (Bounded, Enum, Eq, Floating, Fractional, Integral, Semigroup-      , Monoid, Num, Ord, Real, RealFrac, RealFloat, Generic, NFData)+      , Monoid, Num, Ord, Real, RealFrac, RealFloat, Generic, NFData, J.FromJSON, J.ToJSON)  -- | Always updated instance Incremental (Fresh a) where@@ -199,6 +200,15 @@   patch _ x = x; \   diff a b = if a /= b then Just b else Nothing; \   }++-- | Wrap the result of 'diff'. Useful in combination with HKD+newtype WrapDelta h x = WrapDelta {unwrapDelta :: Maybe (Delta (h x))}++deriving instance Show (Delta (h x)) => Show (WrapDelta h x)+deriving instance Eq (Delta (h x)) => Eq (WrapDelta h x)+deriving instance Ord (Delta (h x)) => Ord (WrapDelta h x)+deriving instance J.FromJSON (Delta (h x)) => J.FromJSON (WrapDelta h x)+deriving instance J.ToJSON (Delta (h x)) => J.ToJSON (WrapDelta h x)  TRIVIAL_EQ(Bool) TRIVIAL_EQ(Char)