packages feed

fused-effects-optics 0.2.1.0 → 0.3.0.0

raw patch · 3 files changed

+8/−2 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Control.Effect.Optics: (%=) :: (Is k A_Setter, Has (State s) sig m) => Optic k is s s a b -> (a -> b) -> m ()
+ Control.Effect.Optics: (%=) :: forall k s (sig :: (Type -> Type) -> Type -> Type) m (is :: IxList) a b. (Is k A_Setter, Has (State s) sig m) => Optic k is s s a b -> (a -> b) -> m ()
- Control.Effect.Optics: (.=) :: forall s a b m sig k is. (Is k A_Setter, Has (State s) sig m) => Optic k is s s a b -> b -> m ()
+ Control.Effect.Optics: (.=) :: forall s a b m (sig :: (Type -> Type) -> Type -> Type) k (is :: IxList). (Is k A_Setter, Has (State s) sig m) => Optic k is s s a b -> b -> m ()
- Control.Effect.Optics: (<~) :: (Is k A_Setter, Has (State s) sig m) => Optic k is s s a b -> m b -> m ()
+ Control.Effect.Optics: (<~) :: forall k s (sig :: (Type -> Type) -> Type -> Type) m (is :: IxList) a b. (Is k A_Setter, Has (State s) sig m) => Optic k is s s a b -> m b -> m ()
- Control.Effect.Optics: (?=) :: forall s a b m sig k is. (Is k A_Setter, Has (State s) sig m) => Optic k is s s a (Maybe b) -> b -> m ()
+ Control.Effect.Optics: (?=) :: forall s a b m (sig :: (Type -> Type) -> Type -> Type) k (is :: IxList). (Is k A_Setter, Has (State s) sig m) => Optic k is s s a (Maybe b) -> b -> m ()
- Control.Effect.Optics: assign :: forall s a b m sig k is. (Is k A_Setter, Has (State s) sig m) => Optic k is s s a b -> b -> m ()
+ Control.Effect.Optics: assign :: forall s a b m (sig :: (Type -> Type) -> Type -> Type) k (is :: IxList). (Is k A_Setter, Has (State s) sig m) => Optic k is s s a b -> b -> m ()
- Control.Effect.Optics: locally :: (Is k A_Setter, Has (Reader r) sig m) => Optic k is r r a b -> (a -> b) -> m c -> m c
+ Control.Effect.Optics: locally :: forall k r (sig :: (Type -> Type) -> Type -> Type) m (is :: IxList) a b c. (Is k A_Setter, Has (Reader r) sig m) => Optic k is r r a b -> (a -> b) -> m c -> m c
- Control.Effect.Optics: modifying :: (Is k A_Setter, Has (State s) sig m) => Optic k is s s a b -> (a -> b) -> m ()
+ Control.Effect.Optics: modifying :: forall s a b m (sig :: (Type -> Type) -> Type -> Type) k (is :: IxList). (Is k A_Setter, Has (State s) sig m) => Optic k is s s a b -> (a -> b) -> m ()
- Control.Effect.Optics: preuse :: forall s a m sig k is. (Is k An_AffineFold, Has (State s) sig m) => Optic' k is s a -> m (Maybe a)
+ Control.Effect.Optics: preuse :: forall s a m (sig :: (Type -> Type) -> Type -> Type) k (is :: IxList). (Is k An_AffineFold, Has (State s) sig m) => Optic' k is s a -> m (Maybe a)
- Control.Effect.Optics: use :: forall s a m sig k is. (Is k A_Getter, Has (State s) sig m) => Optic' k is s a -> m a
+ Control.Effect.Optics: use :: forall s a m (sig :: (Type -> Type) -> Type -> Type) k (is :: IxList). (Is k A_Getter, Has (State s) sig m) => Optic' k is s a -> m a
- Control.Effect.Optics: uses :: forall s a b m sig k is. (Is k A_Getter, Has (State s) sig m) => Optic' k is s a -> (a -> b) -> m b
+ Control.Effect.Optics: uses :: forall s a b m (sig :: (Type -> Type) -> Type -> Type) k (is :: IxList). (Is k A_Getter, Has (State s) sig m) => Optic' k is s a -> (a -> b) -> m b
- Control.Effect.Optics: view :: forall r a m sig k is. (Is k A_Getter, Has (Reader r) sig m) => Optic' k is r a -> m a
+ Control.Effect.Optics: view :: forall r a m (sig :: (Type -> Type) -> Type -> Type) k (is :: IxList). (Is k A_Getter, Has (Reader r) sig m) => Optic' k is r a -> m a
- Control.Effect.Optics: views :: forall r a b m sig k is. (Is k A_Getter, Has (Reader r) sig m) => Optic' k is r a -> (a -> b) -> m b
+ Control.Effect.Optics: views :: forall r a b m (sig :: (Type -> Type) -> Type -> Type) k (is :: IxList). (Is k A_Getter, Has (Reader r) sig m) => Optic' k is r a -> (a -> b) -> m b
- Control.Effect.Optics.Indexed: ilocally :: (Has (Reader s) sig m, is `HasSingleIndex` i, Is k A_Setter) => Optic k is s s a1 b -> (i -> a1 -> b) -> m a2 -> m a2
+ Control.Effect.Optics.Indexed: ilocally :: forall s (sig :: (Type -> Type) -> Type -> Type) m (is :: IxList) i k a1 b a2. (Has (Reader s) sig m, HasSingleIndex is i, Is k A_Setter) => Optic k is s s a1 b -> (i -> a1 -> b) -> m a2 -> m a2
- Control.Effect.Optics.Indexed: iuse :: (Is k A_Getter, is `HasSingleIndex` i, Has (State s) sig m) => Optic' k is s a -> m (i, a)
+ Control.Effect.Optics.Indexed: iuse :: forall k (is :: IxList) i s (sig :: (Type -> Type) -> Type -> Type) m a. (Is k A_Getter, HasSingleIndex is i, Has (State s) sig m) => Optic' k is s a -> m (i, a)
- Control.Effect.Optics.Indexed: iuses :: (Is k A_Getter, is `HasSingleIndex` i, Has (State s) sig m) => Optic' k is s a -> (i -> a -> m b) -> m b
+ Control.Effect.Optics.Indexed: iuses :: forall k (is :: IxList) i s (sig :: (Type -> Type) -> Type -> Type) m a b. (Is k A_Getter, HasSingleIndex is i, Has (State s) sig m) => Optic' k is s a -> (i -> a -> m b) -> m b
- Control.Effect.Optics.Indexed: iview :: (Is k A_Getter, is `HasSingleIndex` i, Has (Reader r) sig m) => Optic' k is r a -> m (i, a)
+ Control.Effect.Optics.Indexed: iview :: forall k (is :: IxList) i r (sig :: (Type -> Type) -> Type -> Type) m a. (Is k A_Getter, HasSingleIndex is i, Has (Reader r) sig m) => Optic' k is r a -> m (i, a)
- Control.Effect.Optics.Indexed: iviews :: (Is k A_Getter, is `HasSingleIndex` i, Has (Reader r) sig m) => Optic' k is r a -> (i -> a -> m b) -> m b
+ Control.Effect.Optics.Indexed: iviews :: forall k (is :: IxList) i r (sig :: (Type -> Type) -> Type -> Type) m a b. (Is k A_Getter, HasSingleIndex is i, Has (Reader r) sig m) => Optic' k is r a -> (i -> a -> m b) -> m b

Files

CHANGELOG.md view
@@ -3,6 +3,10 @@ `fused-effects-optics` uses [PVP Versioning][1]. The changelog is available [on GitHub][2]. +## 0.3.0.0++* Specify ordering of `modifying` type variables (thanks @)+ ## 0.2.1.0  * GHC 9.2 support.
fused-effects-optics.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.2 name:                fused-effects-optics-version:             0.2.1.0+version:             0.3.0.0 synopsis:            Bridge between the optics and fused-effects ecosystems. description:         Provides combinators for the optics-based manipulation of state and context types provided by the fused-effects library, similar to those provided by optics-extra for mtl-based monad transformers. homepage:            https://github.com/fused-effects/fused-effects-optics@@ -9,7 +9,7 @@ license-file:        LICENSE author:              Patrick Thomson maintainer:          patrick.william.thomson@gmail.com-copyright:           2020-2021 Patrick Thomson+copyright:           2020-2025 Patrick Thomson category:            Control build-type:          Simple extra-doc-files:     README.md@@ -18,6 +18,7 @@                      GHC == 8.10.1                      GHC == 9.0                      GHC == 9.2+                     GHC == 9.12  source-repository head   type:                git
src/Control/Effect/Optics.hs view
@@ -119,6 +119,7 @@ -- | Map over the target(s) of an 'Optic' in our monadic state. -- The action and the optic operation are applied strictly. modifying ::+  forall s a b m sig k is.   ( Is k A_Setter,     Has (State.State s) sig m   ) =>