changeset-reflex 0.1.0.3 → 0.1.1
raw patch · 2 files changed
+21/−10 lines, 2 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.Reflex: instance (Data.Foldable.Foldable f, Data.Foldable.Foldable k) => Data.Foldable.Foldable (Control.Monad.Changeset.Reflex.DMapChange k f)
+ Control.Monad.Changeset.Reflex: instance (Data.Traversable.Traversable f, Data.Traversable.Traversable k) => Data.Traversable.Traversable (Control.Monad.Changeset.Reflex.DMapChange k f)
+ Control.Monad.Changeset.Reflex: instance (GHC.Base.Functor f, GHC.Base.Functor k) => GHC.Base.Functor (Control.Monad.Changeset.Reflex.DMapChange k f)
+ Control.Monad.Changeset.Reflex: instance GHC.Generics.Generic (Control.Monad.Changeset.Reflex.DMapChange k f v)
Files
changeset-reflex.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: changeset-reflex-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.@@ -36,6 +36,9 @@ default-extensions: BangPatterns DeriveFunctor+ DeriveGeneric+ DeriveTraversable+ DerivingStrategies FlexibleInstances FunctionalDependencies GADTs@@ -44,6 +47,7 @@ NamedFieldPuns RankNTypes ScopedTypeVariables+ StrictData TupleSections TypeOperators @@ -54,10 +58,10 @@ build-depends: base >=4.12 && <4.22,- changeset ==0.1.0.3,+ changeset ==0.1.1, containers >=0.6 && <0.8, dependent-map ^>=0.4,- monoid-extras ^>=0.6,+ monoid-extras ^>=0.7, reflex >=0.8.2.1 && <0.10, some ^>=1.0.1,
src/Control/Monad/Changeset/Reflex.hs view
@@ -2,13 +2,25 @@ -- base import Data.Bifunctor (Bifunctor (second))+import Data.Function ((&)) import Data.Functor ((<&>)) import Data.Functor.Compose import Data.Functor.Identity (Identity (Identity))+import Data.List.NonEmpty (NonEmpty, fromList)+import GHC.Generics (Generic) -- monoid-extras import Data.Monoid.Action +-- containers++import Data.IntMap (IntMap)+import qualified Data.IntMap as IM+import Data.Map (Map)++-- some+import Data.GADT.Compare (GCompare)+ -- reflex import Reflex.Class @@ -19,21 +31,16 @@ insert, traverseWithKey, )+import Data.Functor.Misc (dmapToIntMap, dmapToMap, intMapWithFunctorToDMap, mapWithFunctorToDMap) -- changeset import Control.Monad.Trans.Changeset (ChangesetT (..))-import Data.Function ((&))-import Data.Functor.Misc (dmapToIntMap, dmapToMap, intMapWithFunctorToDMap, mapWithFunctorToDMap)-import Data.GADT.Compare (GCompare)-import Data.IntMap (IntMap)-import qualified Data.IntMap as IM-import Data.List.NonEmpty (NonEmpty, fromList)-import Data.Map (Map) -- | A change to a dependent map 'DMap'. data DMapChange k f v = Insert (k v) (f v) | Delete (k v)+ deriving stock (Functor, Foldable, Traversable, Generic) instance (GCompare k) => Action (DMapChange k f v) (DMap k f) where act (Insert k v) = insert k v