| Portability | Rank2Types |
|---|---|
| Stability | provisional |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| Safe Haskell | Safe-Infered |
Control.Lens.Internal
Contents
Description
These are some of the explicit Functor instances that leak into the type signatures of Control.Lens. You shouldn't need to import this module directly, unless you are coming up with a whole new kind of "Family" and need to add instances.
- data IndexedStore c d a = IndexedStore (d -> a) c
- newtype Focusing m c a = Focusing {
- unfocusing :: m (c, a)
- newtype Traversed f = Traversed {
- getTraversed :: f ()
- newtype Action m = Action {}
- newtype AppliedState f a = AppliedState {
- runAppliedState :: Int -> (f a, Int)
- data Min a
- getMin :: Min a -> Maybe a
- data Max a
- getMax :: Max a -> Maybe a
Implementation details
data IndexedStore c d a Source
The indexed store can be used to characterize a LensFamily
and is used by clone
Constructors
| IndexedStore (d -> a) c |
Instances
| Functor (IndexedStore c d) |
Used by Focus
Constructors
| Focusing | |
Fields
| |
Used internally by traverseOf_, mapM_ and the like.
Constructors
| Traversed | |
Fields
| |
Instances
| Applicative f => Monoid (Traversed f) |
Used internally by mapM_ and the like.
newtype AppliedState f a Source
Applicative composition of State Int with a Functor, used
by elementOf, elementsOf, traverseElement, traverseElementsOf
Constructors
| AppliedState | |
Fields
| |
Instances
| Functor f => Functor (AppliedState f) | |
| Applicative f => Applicative (AppliedState f) |