Portability | Rank2Types |
---|---|
Stability | provisional |
Maintainer | Edward Kmett <ekmett@gmail.com> |
Safe Haskell | Safe |
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 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
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) |
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) |