Index
Fold s a
builders
folded :: Foldable f => Fold (f a) a
operations
foldOf :: Getting a s a -> s -> a
foldMapOf :: Monoid r => Fold s a -> (a -> r) -> s -> r
foldrOf :: Fold s a -> (a -> r -> r) -> r -> s -> r
toListOf :: Fold s a -> s -> [a]
anyOf :: Fold s a -> (a -> Bool) -> s -> Bool
traverseOf_ :: Applicative f => Fold s a -> (a -> f r) -> s -> f ()
...
(^.) :: Monoid r => s -> Fold s r -> r
view :: (MonadReader s m, Monoid r) => Fold s r -> m r
use :: (MonadState s m, Monoid r) => Fold s r -> m r
Setter s t a b
builders
mapped :: Functor f => Setter (f a) (f b) a b
lifted :: Monad m => Setter (m a) (m b) a b
operations
over :: ASetter s t a b -> (a -> b) -> s -> t
set :: ASetter s t a b -> b -> s -> t
modifying :: MonadState s m => ASetter s s a b -> (a -> b) -> m ()
(.=) :: MonadState s m => ASetter s s a b -> b -> m ()
(%=) ≡ modifying
identities
set ≡ (.~)
set l y (set l x a) ≡ set l y a
over l id ≡ id
over l f . over l g ≡ over l (f . g)
(arrows)
Getter s a
builders
to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a
like :: (Profunctor p, Contravariant f, Functor f) => a -> Optic' p f s a
(Why Optic')?
operations
(^.) :: s -> Getting a s a -> a
use :: MonadState s m => Getting a s a -> m a
listening :: MonadWriter w m => Getting u w u -> m a -> m (a, u)
view :: MonadReader s m => Getting a s a -> m a
identities
to f . to g ≡ to (g . f)
a ^. to f ≡ f a
    Traversal s t a b
    types
    type Traversal s t a b = forall f. Applicative f => (a -> f b) -> s -> f t
    builders
    singular :: (Conjoined p, Functor f) => Traversing p f s t a a -> Over p f s t a a
    traverseOf :: LensLike f s t a b -> (a -> f b) -> s -> f t
    operators
    traversed :: Traversable f => IndexedTraversal Int (f a) (f b) a b
(arrows)
  • Lens s t a b
  • builders
    lens :: (s -> a) -> (s -> b -> t) -> Lens s t a b
(arrows)
(arrows)
Iso s t a b
builders
iso :: (s -> a) -> (b -> t) -> Iso s t a b
combiners
from :: AnIso s t a b -> Iso b a t s
identities
f . from f ≡ id
from f . f ≡ id
(arrows)