packages feed

changeset-containers 0.1.0.3 → 0.1.1

raw patch · 7 files changed

+60/−14 lines, 7 filesdep ~changesetdep ~monoid-extrasPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: changeset, monoid-extras

API changes (from Hackage documentation)

- Data.Monoid.RightAction.Map: instance (GHC.Read.Read a, GHC.Read.Read k) => GHC.Read.Read (Data.Monoid.RightAction.Map.MapChange k a)
- Data.Monoid.RightAction.Set: instance GHC.Read.Read k => GHC.Read.Read (Data.Monoid.RightAction.Set.SetChange k)
+ Data.Monoid.RightAction.IntMap: instance GHC.Generics.Generic (Data.Monoid.RightAction.IntMap.IntMapChange a)
+ Data.Monoid.RightAction.IntSet: instance GHC.Generics.Generic Data.Monoid.RightAction.IntSet.IntSetChange
+ Data.Monoid.RightAction.Map: RestrictKeys :: Set k -> MapChange k a
+ Data.Monoid.RightAction.Map: WithoutKeys :: Set k -> MapChange k a
+ Data.Monoid.RightAction.Map: instance (GHC.Read.Read a, GHC.Read.Read k, GHC.Classes.Ord k) => GHC.Read.Read (Data.Monoid.RightAction.Map.MapChange k a)
+ Data.Monoid.RightAction.Map: instance GHC.Generics.Generic (Data.Monoid.RightAction.Map.MapChange k a)
+ Data.Monoid.RightAction.Sequence: instance GHC.Generics.Generic (Data.Monoid.RightAction.Sequence.SeqChange a)
+ Data.Monoid.RightAction.Set: Difference :: Set k -> SetChange k
+ Data.Monoid.RightAction.Set: Intersection :: Set k -> SetChange k
+ Data.Monoid.RightAction.Set: Union :: Set k -> SetChange k
+ Data.Monoid.RightAction.Set: instance (GHC.Read.Read k, GHC.Classes.Ord k) => GHC.Read.Read (Data.Monoid.RightAction.Set.SetChange k)
+ Data.Monoid.RightAction.Set: instance GHC.Generics.Generic (Data.Monoid.RightAction.Set.SetChange k)

Files

CHANGELOG.md view
@@ -1,5 +1,5 @@ # Revision history for changeset -## 0.1.0.0 -- YYYY-mm-dd+## 0.1.1 -* First version. Released on an unsuspecting world.+* Add `RestrictKeys` and `WithoutKeys` changes
changeset-containers.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: changeset-containers-version: 0.1.0.3+version: 0.1.1 synopsis: Stateful monad transformer based on monoidal actions description:   A general state monad transformer with separate types for the state and the possible changes.@@ -37,6 +37,8 @@   default-extensions:     BangPatterns     DeriveFunctor+    DeriveGeneric+    DerivingStrategies     FlexibleInstances     FunctionalDependencies     GADTs@@ -45,6 +47,7 @@     NamedFieldPuns     RankNTypes     ScopedTypeVariables+    StrictData     TupleSections     TypeOperators @@ -59,9 +62,9 @@    build-depends:     base >=4.12 && <4.22,-    changeset ==0.1.0.3,+    changeset ==0.1.1,     containers >=0.6 && <0.8,-    monoid-extras ^>=0.6,+    monoid-extras ^>=0.7,    hs-source-dirs: src   default-language: Haskell2010
src/Data/Monoid/RightAction/IntMap.hs view
@@ -1,5 +1,8 @@ module Data.Monoid.RightAction.IntMap where +-- base+import GHC.Generics (Generic)+ -- containers import Data.IntMap @@ -9,11 +12,15 @@ {- | Insert or delete an element in an 'IntMap'.  To change an element in an 'IntMap', see the indexed changes in [@changeset-lens@](hackage.haskell.org/package/changeset-lens).++The general purpose changes t'Control.Monad.Trans.Changeset.FilterableChange',+t'Control.Monad.Trans.Changeset.FilterableChanges', t'Control.Monad.Trans.Changeset.FilterableWithIndexChanges',+and t'Control.Monad.Trans.Changeset.AlignChanges' also apply to 'IntMap's. -} data IntMapChange a   = Insert Int a   | Delete Int-  deriving (Show, Read, Eq, Ord, Functor)+  deriving stock (Show, Read, Eq, Ord, Functor, Generic)  instance RightAction (IntMapChange a) (IntMap a) where   actRight m (Insert k a) = insert k a m
src/Data/Monoid/RightAction/IntSet.hs view
@@ -1,5 +1,8 @@ module Data.Monoid.RightAction.IntSet where +-- base+import GHC.Generics (Generic)+ -- containers import Data.IntSet @@ -10,7 +13,7 @@ data IntSetChange   = Insert Int   | Delete Int-  deriving (Show, Read, Eq, Ord)+  deriving stock (Show, Read, Eq, Ord, Generic)  instance RightAction IntSetChange IntSet where   actRight s (Insert k) = insert k s
src/Data/Monoid/RightAction/Map.hs view
@@ -1,20 +1,34 @@ module Data.Monoid.RightAction.Map where +-- base+import GHC.Generics (Generic)+ -- containers import Data.Map+import Data.Set (Set)  -- changeset import Data.Monoid.RightAction (RightAction (..)) -{- | Insert or delete an element in a 'Map'.+{- | Insert or delete an element in a 'Map',+or restrict or delete the keys. -To change an element in an 'Map', see the indexed changes in [@changeset-lens@](hackage.haskell.org/package/changeset-lens).+To change an element in an 'Map', see the indexed changes in [@changeset-lens@](hackage.haskell.org/package/changeset-lens),+or t'Control.Monad.Trans.Changeset.ImapChange'.++The general purpose changes t'Control.Monad.Trans.Changeset.FilterableChange',+t'Control.Monad.Trans.Changeset.FilterableChanges', t'Control.Monad.Trans.Changeset.FilterableWithIndexChanges',+and t'Control.Monad.Trans.Changeset.AlignChanges' also apply to 'Map's. -} data MapChange k a   = Insert k a   | Delete k-  deriving (Show, Read, Eq, Ord, Functor)+  | RestrictKeys (Set k)+  | WithoutKeys (Set k)+  deriving stock (Show, Read, Eq, Ord, Functor, Generic)  instance (Ord k) => RightAction (MapChange k a) (Map k a) where   actRight m (Insert k a) = insert k a m   actRight m (Delete k) = delete k m+  actRight m (RestrictKeys ks) = restrictKeys m ks+  actRight m (WithoutKeys ks) = withoutKeys m ks
src/Data/Monoid/RightAction/Sequence.hs view
@@ -1,11 +1,21 @@ module Data.Monoid.RightAction.Sequence where -import Data.Monoid.RightAction (RightAction (..))+-- base+import GHC.Generics (Generic)++-- containers import Data.Sequence +-- changeset+import Data.Monoid.RightAction (RightAction (..))+ {- | Insert or delete an element at either end of a 'Seq'.  To change an element in a 'Seq', see the indexed changes in [@changeset-lens@](hackage.haskell.org/package/changeset-lens).++The general purpose changes t'Control.Monad.Trans.Changeset.FilterableChange',+t'Control.Monad.Trans.Changeset.FilterableChanges', t'Control.Monad.Trans.Changeset.FilterableWithIndexChanges',+and t'Control.Monad.Trans.Changeset.AlignChanges' also apply to 'Seq'uences. -} data SeqChange a   = -- | Prepend an element@@ -16,7 +26,7 @@     Uncons   | -- | Drop an element from the right     Unsnoc-  deriving (Show, Read, Eq, Ord, Functor)+  deriving stock (Show, Read, Eq, Ord, Functor, Generic)  instance RightAction (SeqChange a) (Seq a) where   actRight s (Cons a) = a <| s
src/Data/Monoid/RightAction/Set.hs view
@@ -1,17 +1,26 @@ module Data.Monoid.RightAction.Set where +-- base+import GHC.Generics (Generic)+ -- containers import Data.Set  -- changeset import Data.Monoid.RightAction (RightAction (..)) --- | Insert or delete an element in a 'Set'.+-- | Insert or delete an element in a 'Set', or calculate the intersection, union, or difference with another set. data SetChange k   = Insert k   | Delete k-  deriving (Show, Read, Eq, Ord)+  | Intersection (Set k)+  | Union (Set k)+  | Difference (Set k)+  deriving stock (Show, Read, Eq, Ord, Generic)  instance (Ord k) => RightAction (SetChange k) (Set k) where   actRight s (Insert k) = insert k s   actRight s (Delete k) = delete k s+  actRight s1 (Intersection s2) = intersection s1 s2+  actRight s1 (Union s2) = s1 `union` s2+  actRight s1 (Difference s2) = difference s1 s2