Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Lens.Family.Stock
Description
This module contains lenses and traversals for common structures in Haskell. It also contains the combinators for lenses and traversals.
Synopsis
- choosing :: Functor f => LensLike f a a' c c' -> LensLike f b b' c c' -> LensLike f (Either a b) (Either a' b') c c'
- alongside :: Functor f => LensLike (AlongsideLeft f b2') a1 a1' b1 b1' -> LensLike (AlongsideRight f a1') a2 a2' b2 b2' -> LensLike f (a1, a2) (a1', a2') (b1, b2) (b1', b2')
- beside :: Applicative f => LensLike f a a' c c' -> LensLike f b b' c c' -> LensLike f (a, b) (a', b') c c'
- _1 :: Functor f => LensLike f (a, b) (a', b) a a'
- _2 :: Functor f => LensLike f (a, b) (a, b') b b'
- chosen :: Functor f => LensLike f (Either a a) (Either b b) a b
- ix :: (Eq k, Functor f) => k -> LensLike' f (k -> v) v
- at :: (Ord k, Functor f) => k -> LensLike' f (Map k v) (Maybe v)
- intAt :: Functor f => Int -> LensLike' f (IntMap v) (Maybe v)
- at' :: (Ord k, Functor f) => k -> LensLike' f (Map k v) (Maybe v)
- intAt' :: Functor f => Int -> LensLike' f (IntMap v) (Maybe v)
- contains :: (Ord k, Functor f) => k -> LensLike' f (Set k) Bool
- intContains :: Functor f => Int -> LensLike' f IntSet Bool
- both :: Applicative f => LensLike f (a, a) (b, b) a b
- _Left :: Applicative f => LensLike f (Either a b) (Either a' b) a a'
- _Right :: Applicative f => LensLike f (Either a b) (Either a b') b b'
- _Just :: Applicative f => LensLike f (Maybe a) (Maybe a') a a'
- _Nothing :: Applicative f => LensLike' f (Maybe a) ()
- ignored :: Applicative f => null -> a -> f a
- mapped :: (Identical f, Functor g) => LensLike f (g a) (g a') a a'
- data AlongsideLeft f b a
- data AlongsideRight f a b
- type LensLike f a a' b b' = (b -> f b') -> a -> f a'
- type LensLike' f a b = (b -> f b) -> a -> f a
- class Functor f => Applicative (f :: Type -> Type)
- class Applicative f => Identical f
Lens Combinators
choosing :: Functor f => LensLike f a a' c c' -> LensLike f b b' c c' -> LensLike f (Either a b) (Either a' b') c c' Source #
choosing :: Lens a a' c c' -> Lens b b' c c' -> Lens (Either a b) (Either a' b') c c'
choosing :: Traversal a a' c c' -> Traversal b b' c c' -> Traversal (Either a b) (Either a' b') c c'
choosing :: Getter a a' c c' -> Getter b b' c c' -> Getter (Either a b) (Either a' b') c c'
choosing :: Fold a a' c c' -> Fold b b' c c' -> Fold (Either a b) (Either a' b') c c'
choosing :: Setter a a' c c' -> Setter b b' c c' -> Setter (Either a b) (Either a' b') c c'
Given two lens/traversal/getter/fold/setter families with the same substructure, make a new lens/traversal/getter/fold/setter on Either
.
alongside :: Functor f => LensLike (AlongsideLeft f b2') a1 a1' b1 b1' -> LensLike (AlongsideRight f a1') a2 a2' b2 b2' -> LensLike f (a1, a2) (a1', a2') (b1, b2) (b1', b2') Source #
alongside :: Lens a1 a1' b1 b1' -> Lens a2 a2' b2 b2' -> Lens (a1, a2) (a1', a2') (b1, b2) (b1', b2')
alongside :: Getter a1 a1' b1 b1' -> Getter a2 a2' b2 b2' -> Getter (a1, a2) (a1', a2') (b1, b2) (b1', b2')
Given two lens/getter families, make a new lens/getter on their product.
beside :: Applicative f => LensLike f a a' c c' -> LensLike f b b' c c' -> LensLike f (a, b) (a', b') c c' Source #
beside :: Traversal a a' c c' -> Traversal b' b' c c' -> Traversal (a,b) (a',b') c c'
beside :: Fold a a' c c' -> Fold b' b' c c' -> Fold (a,b) (a',b') c c'
beside :: Setter a a' c c' -> Setter b' b' c c' -> Setter (a,b) (a',b') c c'
Given two traversals/folds/setters referencing a type c
, create a traversal/fold/setter on the pair referencing c
.
Stock Lenses
_1 :: Functor f => LensLike f (a, b) (a', b) a a' Source #
_1 :: Lens (a, b) (a', b) a a'
Lens on the first element of a pair.
_2 :: Functor f => LensLike f (a, b) (a, b') b b' Source #
_2 :: Lens (a, b) (a, b') b b'
Lens on the second element of a pair.
chosen :: Functor f => LensLike f (Either a a) (Either b b) a b Source #
chosen :: Lens (Either a a) (Either b b) a b
Lens on the Left or Right element of an (Either
a a).
ix :: (Eq k, Functor f) => k -> LensLike' f (k -> v) v Source #
ix :: Eq k => k -> Lens' (k -> v) v
Lens on a given point of a function.
at :: (Ord k, Functor f) => k -> LensLike' f (Map k v) (Maybe v) Source #
at :: Ord k => k -> Lens' (Map.Map k v) (Maybe v)
Lens on a given point of a Map
.
intAt :: Functor f => Int -> LensLike' f (IntMap v) (Maybe v) Source #
intAt :: Int -> Lens (IntMap.IntMap v) (Maybe v)
Lens on a given point of a IntMap
.
at' :: (Ord k, Functor f) => k -> LensLike' f (Map k v) (Maybe v) Source #
at :: Ord k => k -> Lens' (Map.Map k v) (Maybe v)
Lens providing strict access to a given point of a Map
.
intAt' :: Functor f => Int -> LensLike' f (IntMap v) (Maybe v) Source #
intAt :: Int -> Lens (IntMap.IntMap v) (Maybe v)
Lens providing strict access to a given point of a IntMap
.
contains :: (Ord k, Functor f) => k -> LensLike' f (Set k) Bool Source #
contains :: Ord => k -> Lens' (Set.Set k) Bool
Lens on a given point of a Set
.
intContains :: Functor f => Int -> LensLike' f IntSet Bool Source #
intContains :: Int -> Lens' IntSet.IntSet Bool
Lens on a given point of a IntSet
.
Stock Traversals
both :: Applicative f => LensLike f (a, a) (b, b) a b Source #
both :: Traversal (a,a) (b,b) a b
Traversals on both elements of a pair (a,a)
.
_Left :: Applicative f => LensLike f (Either a b) (Either a' b) a a' Source #
_Left :: Traversal (Either a b) (Either a' b) a a'
Traversal on the Left
element of an Either
.
_Right :: Applicative f => LensLike f (Either a b) (Either a b') b b' Source #
_Right :: Traversal (Either a b) (Either a b') b b'
Traversal on the Right
element of an Either
.
_Just :: Applicative f => LensLike f (Maybe a) (Maybe a') a a' Source #
_Just :: Traversal (Maybe a) (Maybe a') a a'
Traversal on the Just
element of a Maybe
.
_Nothing :: Applicative f => LensLike' f (Maybe a) () Source #
_Nothing :: Traversal' (Maybe a) ()
Traversal on the Nothing
element of a Maybe
.
ignored :: Applicative f => null -> a -> f a Source #
ignored :: Traversal a a b b'
The empty traversal on any type.
Stock SECs
mapped :: (Identical f, Functor g) => LensLike f (g a) (g a') a a' Source #
mapped :: Functor g => Setter (g a) (g a') a a'
An SEC referencing the parameter of a functor.
Types
data AlongsideLeft f b a Source #
Instances
Functor f => Functor (AlongsideLeft f a) Source # | |
Defined in Lens.Family.Stock Methods fmap :: (a0 -> b) -> AlongsideLeft f a a0 -> AlongsideLeft f a b (<$) :: a0 -> AlongsideLeft f a b -> AlongsideLeft f a a0 | |
Phantom f => Phantom (AlongsideLeft f a) Source # | |
Defined in Lens.Family.Stock Methods coerce :: AlongsideLeft f a a0 -> AlongsideLeft f a b |
data AlongsideRight f a b Source #
Instances
Functor f => Functor (AlongsideRight f a) Source # | |
Defined in Lens.Family.Stock Methods fmap :: (a0 -> b) -> AlongsideRight f a a0 -> AlongsideRight f a b (<$) :: a0 -> AlongsideRight f a b -> AlongsideRight f a a0 | |
Phantom f => Phantom (AlongsideRight f a) Source # | |
Defined in Lens.Family.Stock Methods coerce :: AlongsideRight f a a0 -> AlongsideRight f a b |
Re-exports
class Functor f => Applicative (f :: Type -> Type) #
Minimal complete definition
pure, ((<*>) | liftA2)
Instances
Applicative [] | |
Applicative Maybe | |
Applicative IO | |
Applicative Par1 | |
Applicative Product | |
Applicative Sum | |
Applicative P | |
Applicative Identity | |
Applicative NonEmpty | |
Applicative Dual | |
Applicative ZipList | |
Applicative ReadP | |
Applicative First | |
Applicative Last | |
Applicative Down | |
Applicative (Either e) | |
Applicative (U1 :: Type -> Type) | |
Monoid a => Applicative ((,) a) | |
Monad m => Applicative (WrappedMonad m) | |
Defined in Control.Applicative Methods pure :: a -> WrappedMonad m a (<*>) :: WrappedMonad m (a -> b) -> WrappedMonad m a -> WrappedMonad m b liftA2 :: (a -> b -> c) -> WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m c (*>) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m b (<*) :: WrappedMonad m a -> WrappedMonad m b -> WrappedMonad m a | |
Arrow a => Applicative (ArrowMonad a) | |
Defined in Control.Arrow Methods pure :: a0 -> ArrowMonad a a0 (<*>) :: ArrowMonad a (a0 -> b) -> ArrowMonad a a0 -> ArrowMonad a b liftA2 :: (a0 -> b -> c) -> ArrowMonad a a0 -> ArrowMonad a b -> ArrowMonad a c (*>) :: ArrowMonad a a0 -> ArrowMonad a b -> ArrowMonad a b (<*) :: ArrowMonad a a0 -> ArrowMonad a b -> ArrowMonad a a0 | |
Applicative (Proxy :: Type -> Type) | |
Applicative f => Applicative (Rec1 f) | |
Applicative f => Applicative (Backwards f) | |
Defined in Control.Applicative.Backwards | |
Arrow a => Applicative (WrappedArrow a b) | |
Defined in Control.Applicative Methods pure :: a0 -> WrappedArrow a b a0 (<*>) :: WrappedArrow a b (a0 -> b0) -> WrappedArrow a b a0 -> WrappedArrow a b b0 liftA2 :: (a0 -> b0 -> c) -> WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b c (*>) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b b0 (<*) :: WrappedArrow a b a0 -> WrappedArrow a b b0 -> WrappedArrow a b a0 | |
Monoid m => Applicative (Const m :: Type -> Type) | |
Monoid a => Applicative (Constant a :: Type -> Type) | |
Defined in Data.Functor.Constant | |
Applicative f => Applicative (Ap f) | |
Applicative f => Applicative (Alt f) | |
(Monoid c, Monad m) => Applicative (Zooming m c) Source # | |
Defined in Lens.Family.State.Zoom | |
(Applicative f, Monad f) => Applicative (WhenMissing f x) | |
Defined in Data.IntMap.Internal Methods pure :: a -> WhenMissing f x a (<*>) :: WhenMissing f x (a -> b) -> WhenMissing f x a -> WhenMissing f x b liftA2 :: (a -> b -> c) -> WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x c (*>) :: WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x b (<*) :: WhenMissing f x a -> WhenMissing f x b -> WhenMissing f x a | |
(Monoid w, Applicative m) => Applicative (WriterT w m) | |
Defined in Control.Monad.Trans.Writer.Lazy | |
(Functor m, Monad m) => Applicative (StateT s m) | |
Defined in Control.Monad.Trans.State.Strict | |
(Functor m, Monad m) => Applicative (StateT s m) | |
Defined in Control.Monad.Trans.State.Lazy | |
Applicative (IKleeneStore b b') Source # | |
Defined in Lens.Family.Clone Methods pure :: a -> IKleeneStore b b' a (<*>) :: IKleeneStore b b' (a -> b0) -> IKleeneStore b b' a -> IKleeneStore b b' b0 liftA2 :: (a -> b0 -> c) -> IKleeneStore b b' a -> IKleeneStore b b' b0 -> IKleeneStore b b' c (*>) :: IKleeneStore b b' a -> IKleeneStore b b' b0 -> IKleeneStore b b' b0 (<*) :: IKleeneStore b b' a -> IKleeneStore b b' b0 -> IKleeneStore b b' a | |
Applicative ((->) a :: Type -> Type) | |
Monoid c => Applicative (K1 i c :: Type -> Type) | |
(Applicative f, Applicative g) => Applicative (f :*: g) | |
(Applicative f, Monad f) => Applicative (WhenMissing f k x) | |
Defined in Data.Map.Internal Methods pure :: a -> WhenMissing f k x a (<*>) :: WhenMissing f k x (a -> b) -> WhenMissing f k x a -> WhenMissing f k x b liftA2 :: (a -> b -> c) -> WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x c (*>) :: WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x b (<*) :: WhenMissing f k x a -> WhenMissing f k x b -> WhenMissing f k x a | |
(Monad f, Applicative f) => Applicative (WhenMatched f x y) | |
Defined in Data.IntMap.Internal Methods pure :: a -> WhenMatched f x y a (<*>) :: WhenMatched f x y (a -> b) -> WhenMatched f x y a -> WhenMatched f x y b liftA2 :: (a -> b -> c) -> WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y c (*>) :: WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y b (<*) :: WhenMatched f x y a -> WhenMatched f x y b -> WhenMatched f x y a | |
Applicative f => Applicative (M1 i c f) | |
(Applicative f, Applicative g) => Applicative (f :.: g) | |
(Applicative f, Applicative g) => Applicative (Compose f g) | |
Defined in Data.Functor.Compose | |
(Monad f, Applicative f) => Applicative (WhenMatched f k x y) | |
Defined in Data.Map.Internal Methods pure :: a -> WhenMatched f k x y a (<*>) :: WhenMatched f k x y (a -> b) -> WhenMatched f k x y a -> WhenMatched f k x y b liftA2 :: (a -> b -> c) -> WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y c (*>) :: WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y b (<*) :: WhenMatched f k x y a -> WhenMatched f k x y b -> WhenMatched f k x y a |
class Applicative f => Identical f Source #
Minimal complete definition
extract