-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Used to be Haskell 98 Lenses
--
-- Used to be Haskell 98 Lenses
@package data-lens
@version 2.11
module Control.Category.Product
class Category c => Tensor c where first = (*** id) second = (id ***)
(***) :: Tensor c => c w x -> c y z -> c (w, y) (x, z)
first :: Tensor c => c w x -> c (w, z) (x, z)
second :: Tensor c => c y z -> c (w, y) (w, z)
instance Control.Category.Product.Tensor (->)
module Data.Lens.Common
newtype Lens a b
Lens :: (a -> Store b a) -> Lens a b
[runLens] :: Lens a b -> a -> Store b a
-- | build a lens out of a getter and setter
lens :: (a -> b) -> (b -> a -> a) -> Lens a b
-- | build a lens out of an isomorphism
iso :: (a -> b) -> (b -> a) -> Lens a b
-- | Gets the getter function from a lens.
getL :: Lens a b -> a -> b
-- | Gets the setter function from a lens.
setL :: Lens a b -> b -> a -> a
-- | Gets the modifier function from a lens.
modL :: Lens a b -> (b -> b) -> a -> a
mergeL :: Lens a c -> Lens b c -> Lens (Either a b) c
(^$) :: Lens a b -> a -> b
infixr 0 ^$
(^$!) :: Lens a b -> a -> b
infixr 0 ^$!
-- | functional getter, which acts like a field accessor
(^.) :: a -> Lens a b -> b
infixl 9 ^.
-- | functional getter, which acts like a field accessor
(^!) :: a -> Lens a b -> b
infixl 9 ^!
(^=) :: Lens a b -> b -> a -> a
infixr 4 ^=
(^!=) :: Lens a b -> b -> a -> a
infixr 4 ^!=
-- | functional modify
(^%=) :: Lens a b -> (b -> b) -> a -> a
infixr 4 ^%=
-- | functional modify
(^!%=) :: Lens a b -> (b -> b) -> a -> a
infixr 4 ^!%=
-- | functorial modify
(^%%=) :: Functor f => Lens a b -> (b -> f b) -> a -> f a
infixr 4 ^%%=
(^+=) :: Num b => Lens a b -> b -> a -> a
infixr 4 ^+=
(^!+=) :: Num b => Lens a b -> b -> a -> a
infixr 4 ^!+=
(^-=) :: Num b => Lens a b -> b -> a -> a
infixr 4 ^-=
(^!-=) :: Num b => Lens a b -> b -> a -> a
infixr 4 ^!-=
(^*=) :: Num b => Lens a b -> b -> a -> a
infixr 4 ^*=
(^!*=) :: Num b => Lens a b -> b -> a -> a
infixr 4 ^!*=
(^/=) :: Fractional b => Lens a b -> b -> a -> a
infixr 4 ^/=
(^!/=) :: Fractional b => Lens a b -> b -> a -> a
infixr 4 ^!/=
fstLens :: Lens (a, b) a
sndLens :: Lens (a, b) b
mapLens :: Ord k => k -> Lens (Map k v) (Maybe v)
intMapLens :: Int -> Lens (IntMap v) (Maybe v)
setLens :: Ord k => k -> Lens (Set k) Bool
intSetLens :: Int -> Lens IntSet Bool
instance Data.Semigroupoid.Semigroupoid Data.Lens.Common.Lens
instance Control.Category.Category Data.Lens.Common.Lens
instance Control.Category.Product.Tensor Data.Lens.Common.Lens
module Data.Lens.Lazy
-- | get the value of a lens into state
access :: Monad m => Lens a b -> StateT a m b
-- | set a value using a lens into state
(~=) :: Monad m => Lens a b -> b -> StateT a m b
infixr 4 ~=
-- | set a value using a lens into state
(!=) :: Monad m => Lens a b -> b -> StateT a m b
infixr 4 !=
-- | infix modification a value through a lens into state
(%=) :: Monad m => Lens a b -> (b -> b) -> StateT a m b
infixr 4 %=
-- | infix modification a value through a lens into state
(!%=) :: Monad m => Lens a b -> (b -> b) -> StateT a m b
infixr 4 !%=
-- | infix modification of a value through a lens into state with a
-- supplemental response
(%%=) :: Monad m => Lens a b -> (b -> (c, b)) -> StateT a m c
infixr 4 %%=
-- | infix modification of a value through a lens into state with a
-- supplemental response
(!%%=) :: Monad m => Lens a b -> (b -> (c, b)) -> StateT a m c
infixr 4 !%%=
(+=) :: (Monad m, Num b) => Lens a b -> b -> StateT a m b
infixr 4 +=
(!+=) :: (Monad m, Num b) => Lens a b -> b -> StateT a m b
infixr 4 !+=
(-=) :: (Monad m, Num b) => Lens a b -> b -> StateT a m b
infixr 4 -=
(!-=) :: (Monad m, Num b) => Lens a b -> b -> StateT a m b
infixr 4 !-=
(*=) :: (Monad m, Num b) => Lens a b -> b -> StateT a m b
infixr 4 *=
(!*=) :: (Monad m, Num b) => Lens a b -> b -> StateT a m b
infixr 4 !*=
(//=) :: (Monad m, Fractional b) => Lens a b -> b -> StateT a m b
infixr 4 //=
(!/=) :: (Monad m, Fractional b) => Lens a b -> b -> StateT a m b
infixr 4 !/=
(&&=) :: Monad m => Lens a Bool -> Bool -> StateT a m Bool
infixr 4 &&=
(!&&=) :: Monad m => Lens a Bool -> Bool -> StateT a m Bool
infixr 4 !&&=
(||=) :: Monad m => Lens a Bool -> Bool -> StateT a m Bool
infixr 4 ||=
(!||=) :: Monad m => Lens a Bool -> Bool -> StateT a m Bool
infixr 4 !||=
focus :: Monad m => Lens a b -> StateT b m c -> StateT a m c
module Data.Lens.Partial.Common
newtype PartialLens a b
PLens :: (a -> Maybe (Store b a)) -> PartialLens a b
runPLens :: PartialLens a b -> a -> (Sum Identity (Store b)) a
null :: PartialLens a b
totalLens :: Lens a b -> PartialLens a b
getPL :: PartialLens a b -> a -> Maybe b
getorPL :: PartialLens a b -> b -> a -> b
getorAPL :: Applicative f => PartialLens a b -> f b -> a -> f b
mergePL :: PartialLens a c -> PartialLens b c -> PartialLens (Either a b) c
nullPL :: PartialLens a b -> a -> Bool
getorEmptyPL :: (Monoid o) => PartialLens a b -> (b -> o) -> a -> o
sumPL :: (Num c) => PartialLens a b -> (b -> c) -> a -> c
productPL :: (Num c) => PartialLens a b -> (b -> c) -> a -> c
anyPL :: PartialLens a b -> (b -> Bool) -> a -> Bool
allPL :: PartialLens a b -> (b -> Bool) -> a -> Bool
trySetPL :: PartialLens a b -> a -> Maybe (b -> a)
setPL :: PartialLens a b -> b -> a -> a
modPL :: PartialLens a b -> (b -> b) -> a -> a
(^$) :: PartialLens a b -> a -> Maybe b
infixr 0 ^$
(^.) :: a -> PartialLens a b -> Maybe b
infixl 9 ^.
(^=) :: PartialLens a b -> b -> a -> a
infixr 4 ^=
(^%=) :: PartialLens a b -> (b -> b) -> a -> a
infixr 4 ^%=
-- | applicative modify
(^%%=) :: Applicative f => PartialLens a b -> (b -> f b) -> a -> f a
infixr 4 ^%%=
(^+=) :: Num b => PartialLens a b -> b -> a -> a
infixr 4 ^+=
(^-=) :: Num b => PartialLens a b -> b -> a -> a
infixr 4 ^-=
(^*=) :: Num b => PartialLens a b -> b -> a -> a
infixr 4 ^*=
(^/=) :: Fractional b => PartialLens a b -> b -> a -> a
infixr 4 ^/=
justLens :: PartialLens (Maybe a) a
leftLens :: PartialLens (Either a b) a
rightLens :: PartialLens (Either a b) b
headLens :: PartialLens [a] a
tailLens :: PartialLens [a] [a]
instance Control.Category.Category Data.Lens.Partial.Common.PartialLens
instance Control.Category.Product.Tensor Data.Lens.Partial.Common.PartialLens
module Data.Lens.Partial.Lazy
maybeZero :: MonadPlus m => Maybe a -> m a
joinMaybe :: MonadPlus m => m (Maybe a) -> m a
-- | get the value of a partial lens into state
access :: Monad m => PartialLens a b -> StateT a m (Maybe b)
-- | returns mzero in case of a null reference
accessPlus :: MonadPlus m => PartialLens a b -> StateT a m b
-- | set a value using a partial lens into state returns Nothing in
-- case of a null reference
(~=) :: Monad m => PartialLens a b -> b -> StateT a m (Maybe b)
-- | infix modification a value through a partial lens into state returns
-- Nothing in case of a null reference
(%=) :: Monad m => PartialLens a b -> (b -> b) -> StateT a m (Maybe b)
-- | infix modification of a value through a partial lens into state with a
-- supplemental response. returns Nothing in case of a null
-- reference
(%%=) :: Monad m => PartialLens a b -> (b -> (c, b)) -> StateT a m (Maybe c)
(+=) :: (Monad m, Num b) => PartialLens a b -> b -> StateT a m (Maybe b)
infixr 4 +=
(-=) :: (Monad m, Num b) => PartialLens a b -> b -> StateT a m (Maybe b)
infixr 4 -=
(*=) :: (Monad m, Num b) => PartialLens a b -> b -> StateT a m (Maybe b)
infixr 4 *=
(//=) :: (Monad m, Fractional b) => PartialLens a b -> b -> StateT a m (Maybe b)
infixr 4 //=
(&&=) :: Monad m => PartialLens a Bool -> Bool -> StateT a m (Maybe Bool)
infixr 4 &&=
(||=) :: Monad m => PartialLens a Bool -> Bool -> StateT a m (Maybe Bool)
infixr 4 ||=
module Data.Lens.Strict
-- | get the value of a lens into state
access :: Monad m => Lens a b -> StateT a m b
-- | set a value using a lens into state
(~=) :: Monad m => Lens a b -> b -> StateT a m b
infixr 4 ~=
-- | set a value using a lens into state
(!=) :: Monad m => Lens a b -> b -> StateT a m b
infixr 4 !=
-- | infix modification a value through a lens into state
(%=) :: Monad m => Lens a b -> (b -> b) -> StateT a m b
infixr 4 %=
-- | infix modification a value through a lens into state
(!%=) :: Monad m => Lens a b -> (b -> b) -> StateT a m b
infixr 4 !%=
-- | infix modification of a value through a lens into state with a
-- supplemental response
(%%=) :: Monad m => Lens a b -> (b -> (c, b)) -> StateT a m c
infixr 4 %%=
-- | infix modification of a value through a lens into state with a
-- supplemental response
(!%%=) :: Monad m => Lens a b -> (b -> (c, b)) -> StateT a m c
infixr 4 !%%=
(+=) :: (Monad m, Num b) => Lens a b -> b -> StateT a m b
infixr 4 +=
(!+=) :: (Monad m, Num b) => Lens a b -> b -> StateT a m b
infixr 4 !+=
(-=) :: (Monad m, Num b) => Lens a b -> b -> StateT a m b
infixr 4 -=
(!-=) :: (Monad m, Num b) => Lens a b -> b -> StateT a m b
infixr 4 !-=
(*=) :: (Monad m, Num b) => Lens a b -> b -> StateT a m b
infixr 4 *=
(!*=) :: (Monad m, Num b) => Lens a b -> b -> StateT a m b
infixr 4 !*=
(//=) :: (Monad m, Fractional b) => Lens a b -> b -> StateT a m b
infixr 4 //=
(!/=) :: (Monad m, Fractional b) => Lens a b -> b -> StateT a m b
infixr 4 !/=
(&&=) :: Monad m => Lens a Bool -> Bool -> StateT a m Bool
infixr 4 &&=
(!&&=) :: Monad m => Lens a Bool -> Bool -> StateT a m Bool
infixr 4 !&&=
(||=) :: Monad m => Lens a Bool -> Bool -> StateT a m Bool
infixr 4 ||=
(!||=) :: Monad m => Lens a Bool -> Bool -> StateT a m Bool
infixr 4 !||=
focus :: Monad m => Lens a b -> StateT b m c -> StateT a m c