Portability | Rank2Types |
---|---|
Stability | provisional |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Safe Haskell | Safe-Infered |
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
- data ElementOf f a = ElementOf {
- getElementOf :: Int -> ElementOfResult f a
- data ElementOfResult f a
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) |
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
AppliedState | |
|
Functor f => Functor (AppliedState f) | |
Applicative f => Applicative (AppliedState f) |
Used to find the nth element of a Traversal
.
ElementOf | |
|
data ElementOfResult f a Source
The result of trying to find the nth element of a Traversal
.
Functor f => Functor (ElementOfResult f) |