Portability | Rank2Types |
---|---|
Stability | provisional |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Safe Haskell | Safe |
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 AppliedState f a = AppliedState {
- runAppliedState :: Int -> (f a, Int)
Implementation details
data IndexedStore c d a Source
The indexed store can be used to characterize a LensFamily
and is used by clone
IndexedStore (d -> a) c |
Functor (IndexedStore c d) |
Used by Focus
Focusing | |
|
Used internally by traverseOf_
, mapM_
and the like.
Traversed | |
|
Applicative f => Monoid (Traversed f) |
newtype AppliedState f a Source
Applicative composition of State Int
with a Functor
, used
by elementOf
, elementsOf
, traverseElement
, traverseElementsOf
AppliedState | |
|
Functor f => Functor (AppliedState f) | |
Applicative f => Applicative (AppliedState f) |