lens-family 1.2.1 → 1.2.2
raw patch · 4 files changed
+86/−7 lines, 4 filesdep ~basedep ~containersdep ~lens-family-corePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, containers, lens-family-core
API changes (from Hackage documentation)
+ Lens.Family2.State.Lazy: (%!=) :: MonadState a m => Setter a a b b' -> (b -> b') -> m ()
+ Lens.Family2.State.Lazy: (&&!=) :: MonadState a m => Setter' a Bool -> Bool -> m ()
+ Lens.Family2.State.Lazy: (*!=) :: (MonadState a m, Num b) => Setter' a b -> b -> m ()
+ Lens.Family2.State.Lazy: (+!=) :: (MonadState a m, Num b) => Setter' a b -> b -> m ()
+ Lens.Family2.State.Lazy: (-!=) :: (MonadState a m, Num b) => Setter' a b -> b -> m ()
+ Lens.Family2.State.Lazy: (//!=) :: (MonadState a m, Fractional b) => Setter' a b -> b -> m ()
+ Lens.Family2.State.Lazy: (<>!=) :: (Monoid o, MonadState a m) => Setter' a o -> o -> m ()
+ Lens.Family2.State.Lazy: (||!=) :: MonadState a m => Setter' a Bool -> Bool -> m ()
+ Lens.Family2.State.Strict: (%!=) :: MonadState a m => Setter a a b b' -> (b -> b') -> m ()
+ Lens.Family2.State.Strict: (&&!=) :: MonadState a m => Setter' a Bool -> Bool -> m ()
+ Lens.Family2.State.Strict: (*!=) :: (MonadState a m, Num b) => Setter' a b -> b -> m ()
+ Lens.Family2.State.Strict: (+!=) :: (MonadState a m, Num b) => Setter' a b -> b -> m ()
+ Lens.Family2.State.Strict: (-!=) :: (MonadState a m, Num b) => Setter' a b -> b -> m ()
+ Lens.Family2.State.Strict: (//!=) :: (MonadState a m, Fractional b) => Setter' a b -> b -> m ()
+ Lens.Family2.State.Strict: (<>!=) :: (Monoid o, MonadState a m) => Setter' a o -> o -> m ()
+ Lens.Family2.State.Strict: (||!=) :: MonadState a m => Setter' a Bool -> Bool -> m ()
+ Lens.Family2.Stock: at' :: Ord k => k -> Lens' (Map k v) (Maybe v)
+ Lens.Family2.Stock: intAt' :: Int -> Lens' (IntMap v) (Maybe v)
- Lens.Family2.State.Lazy: infix 4 %%=
+ Lens.Family2.State.Lazy: infix 4 %!=
- Lens.Family2.State.Lazy: infixr 4 <>=
+ Lens.Family2.State.Lazy: infixr 4 <>!=
- Lens.Family2.State.Strict: infix 4 %%=
+ Lens.Family2.State.Strict: infix 4 %!=
- Lens.Family2.State.Strict: infixr 4 <>=
+ Lens.Family2.State.Strict: infixr 4 <>!=
Files
- lens-family.cabal +5/−5
- src/Lens/Family2/State/Lazy.hs +36/−1
- src/Lens/Family2/State/Strict.hs +36/−1
- src/Lens/Family2/Stock.hs +9/−0
lens-family.cabal view
@@ -1,13 +1,13 @@ name: lens-family category: Data, Lenses-version: 1.2.1+version: 1.2.2 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE author: Russell O'Connor maintainer: Russell O'Connor <roconnor@theorem.ca> stability: experimental-copyright: Copyright (C) 2012,2013,2014 Russell O'Connor+copyright: Copyright (C) 2012,2013,2014,2017 Russell O'Connor synopsis: Lens Families description: Lens Families build-type: Simple@@ -32,11 +32,11 @@ library extensions: Rank2Types build-depends:- base >= 4 && < 5,- containers >= 0.3 && < 0.6,+ base >= 4.8 && < 5,+ containers >= 0.5.8 && < 0.6, transformers >= 0.2.0 && < 0.6, mtl >= 2.1 && < 2.3,- lens-family-core >= 1.2 && < 1.3+ lens-family-core >= 1.2.2 && < 1.3 exposed-modules: Lens.Family2.Unchecked
src/Lens/Family2/State/Lazy.hs view
@@ -14,6 +14,12 @@ , (//=) , (&&=), (||=) , (<>=)+-- * Strict Assignments+ , (%!=)+ , (+!=), (-!=), (*!=)+ , (//!=)+ , (&&!=), (||!=)+ , (<>!=) -- * Types , LFS.Zooming -- * Re-exports@@ -28,7 +34,7 @@ import Data.Tuple (swap) import Control.Monad (liftM) import Control.Monad.Trans.Writer.Lazy (Writer, writer, runWriter)-import Control.Monad.State.Lazy (MonadState, get, modify, state)+import Control.Monad.State.Lazy (MonadState, get, modify, modify', state) import Lens.Family2 ( LensLike, LensLike' , FoldLike, Constant , Setter, Setter', Identical@@ -127,3 +133,32 @@ -- | Monoidally append a value to all referenced fields of the state. (<>=) :: (Monoid o, MonadState a m) => Setter' a o -> o -> m () f <>= b = f %= (`mappend` b)++infix 4 %!=++-- | Strictly modify a field of the state.+(%!=) :: MonadState a m => Setter a a b b' -> (b -> b') -> m ()+l %!= f = modify' (l %~ f)++infixr 4 +!=, -!=, *!=++(+!=), (-!=), (*!=) :: (MonadState a m, Num b) => Setter' a b -> b -> m ()+f +!= b = f %!= (+ b)+f -!= b = f %!= subtract b+f *!= b = f %!= (* b)++infixr 4 //!=++(//!=) :: (MonadState a m, Fractional b) => Setter' a b -> b -> m ()+f //!= b = f %!= (/ b)++infixr 4 &&!=, ||!=++(&&!=), (||!=) :: MonadState a m => Setter' a Bool -> Bool -> m ()+f &&!= b = f %!= (&& b)+f ||!= b = f %!= (|| b)++infixr 4 <>!=++(<>!=) :: (Monoid o, MonadState a m) => Setter' a o -> o -> m ()+f <>!= b = f %!= (`mappend` b)
src/Lens/Family2/State/Strict.hs view
@@ -14,6 +14,12 @@ , (//=) , (&&=), (||=) , (<>=)+-- * Strict Assignments+ , (%!=)+ , (+!=), (-!=), (*!=)+ , (//!=)+ , (&&!=), (||!=)+ , (<>!=) -- * Types , LFS.Zooming -- * Re-exports@@ -28,7 +34,7 @@ import Data.Tuple (swap) import Control.Monad (liftM) import Control.Monad.Trans.Writer.Lazy (Writer, writer, runWriter)-import Control.Monad.State.Strict (MonadState, get, modify, state)+import Control.Monad.State.Strict (MonadState, get, modify, modify', state) import Lens.Family2 ( LensLike, LensLike' , FoldLike, Constant , Setter, Setter', Identical@@ -127,3 +133,32 @@ -- | Monoidally append a value to all referenced fields of the state. (<>=) :: (Monoid o, MonadState a m) => Setter' a o -> o -> m () f <>= b = f %= (`mappend` b)++infix 4 %!=++-- | Strictly modify a field of the state.+(%!=) :: MonadState a m => Setter a a b b' -> (b -> b') -> m ()+l %!= f = modify' (l %~ f)++infixr 4 +!=, -!=, *!=++(+!=), (-!=), (*!=) :: (MonadState a m, Num b) => Setter' a b -> b -> m ()+f +!= b = f %!= (+ b)+f -!= b = f %!= subtract b+f *!= b = f %!= (* b)++infixr 4 //!=++(//!=) :: (MonadState a m, Fractional b) => Setter' a b -> b -> m ()+f //!= b = f %!= (/ b)++infixr 4 &&!=, ||!=++(&&!=), (||!=) :: MonadState a m => Setter' a Bool -> Bool -> m ()+f &&!= b = f %!= (&& b)+f ||!= b = f %!= (|| b)++infixr 4 <>!=++(<>!=) :: (Monoid o, MonadState a m) => Setter' a o -> o -> m ()+f <>!= b = f %!= (`mappend` b)
src/Lens/Family2/Stock.hs view
@@ -11,6 +11,7 @@ , chosen , ix , at, intAt+ , at', intAt' , contains, intContains -- * Stock Traversals , both@@ -62,6 +63,14 @@ -- | Lens on a given point of a 'IntMap.IntMap'. intAt :: Int -> Lens' (IntMap.IntMap v) (Maybe v) intAt = Stock.intAt++-- | Lens providing strict access to a given point of a 'Map.Map'.+at' :: Ord k => k -> Lens' (Map.Map k v) (Maybe v)+at' = Stock.at'++-- | Lens providing strict access to a given point of a 'IntMap.IntMap'.+intAt' :: Int -> Lens' (IntMap.IntMap v) (Maybe v)+intAt' = Stock.intAt' -- | Lens on a given point of a 'Set.Set'. contains :: Ord k => k -> Lens' (Set.Set k) Bool