changeset-lens 0.1.0.3 → 0.1.1
raw patch · 3 files changed
+12/−5 lines, 3 filesdep ~changesetdep ~monoid-extrasPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: changeset, monoid-extras
API changes (from Hackage documentation)
+ Control.Monad.Changeset.Lens.Ixed: instance GHC.Generics.Generic (Control.Monad.Changeset.Lens.Ixed.IxedChangeset s w)
+ Control.Monad.Changeset.Lens.Setter: instance Data.Foldable.Foldable (Control.Monad.Changeset.Lens.Setter.SetterChange s a)
+ Control.Monad.Changeset.Lens.Setter: instance Data.Foldable.Foldable (Control.Monad.Changeset.Lens.Setter.SetterChangeset s a)
+ Control.Monad.Changeset.Lens.Setter: instance Data.Traversable.Traversable (Control.Monad.Changeset.Lens.Setter.SetterChange s a)
+ Control.Monad.Changeset.Lens.Setter: instance Data.Traversable.Traversable (Control.Monad.Changeset.Lens.Setter.SetterChangeset s a)
+ Control.Monad.Changeset.Lens.Setter: instance GHC.Base.Functor (Control.Monad.Changeset.Lens.Setter.SetterChangeset s a)
+ Control.Monad.Changeset.Lens.Setter: instance GHC.Generics.Generic (Control.Monad.Changeset.Lens.Setter.SetterChangeset s a w)
Files
- changeset-lens.cabal +5/−3
- src/Control/Monad/Changeset/Lens/Ixed.hs +2/−0
- src/Control/Monad/Changeset/Lens/Setter.hs +5/−2
changeset-lens.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: changeset-lens-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,7 @@ default-extensions: BangPatterns DeriveFunctor+ DeriveGeneric DeriveTraversable DerivingStrategies FlexibleContexts@@ -50,6 +51,7 @@ RankNTypes ScopedTypeVariables StandaloneDeriving+ StrictData TupleSections TypeOperators @@ -63,11 +65,11 @@ build-depends: base >=4.12 && <4.22,- changeset ==0.1.0.3,+ changeset ==0.1.1, containers >=0.6 && <0.8, indexed-traversable ^>=0.1.1, lens >=4.19.2 && <5.4,- monoid-extras ^>=0.6,+ monoid-extras ^>=0.7, monoidal-containers ^>=0.6.2, transformers >=0.5.6.2 && <0.7, witherable >=0.4 && <0.6,
src/Control/Monad/Changeset/Lens/Ixed.hs view
@@ -6,6 +6,7 @@ import Data.Foldable (Foldable) import Data.Function ((&)) import Data.Monoid (First (..))+import GHC.Generics (Generic) import Prelude hiding (Foldable (..)) -- lens@@ -44,6 +45,7 @@ -} newtype IxedChangeset s w = IxedChangeset {getIxedChangeset :: MonoidalMap (Index s) w}+ deriving stock (Generic) deriving instance (Ord (Index s), Semigroup w) => Semigroup (IxedChangeset s w) deriving instance (Ord (Index s), Monoid w) => Monoid (IxedChangeset s w)
src/Control/Monad/Changeset/Lens/Setter.hs view
@@ -1,9 +1,11 @@ module Control.Monad.Changeset.Lens.Setter where -- base+import Data.Foldable (Foldable) import Data.Function ((&)) import Data.List (foldl') import Data.Monoid (First (..))+import GHC.Generics (Generic) import Prelude hiding (Foldable (..)) -- lens@@ -34,12 +36,13 @@ { setterChangeSetter :: Setter' s a , setterChangeChange :: w }- deriving (Functor)+ deriving stock (Functor, Foldable, Traversable) -- | A collection of 'SetterChange's, which are applied consecutively. newtype SetterChangeset s a w = SetterChangeset {getSetterChangeset :: Seq (SetterChange s a w)} deriving newtype (Semigroup, Monoid)+ deriving stock (Functor, Foldable, Traversable, Generic) instance (RightAction w a) => RightAction (SetterChangeset s a w) s where actRight s SetterChangeset {getSetterChangeset} = foldl' (\s' SetterChange {setterChangeSetter, setterChangeChange} -> s' & setterChangeSetter %~ flip actRight setterChangeChange) s getSetterChangeset@@ -62,7 +65,7 @@ (|>~) :: (MonadChangeset s (SetterChangeset s a w) m) => Setter' s a -> w -> m () setter |>~ w = change $ setterChangeset setter w -{- | Set a value through a setter..+{- | Set a value through a setter. A shorthand for '|>~' in combination with 'First'.