Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
This module contains some useful utilities copy-and-pasted from the lens
library to avoid a dependency which are used internally and also re-exported
for convenience
Synopsis
- type Optic p f s t a b = p a (f b) -> p s (f t)
- type Optic' p f s a = Optic p f s s a a
- rewriteOf :: ASetter a b a b -> (b -> Maybe a) -> a -> b
- transformOf :: ASetter a b a b -> (b -> b) -> a -> b
- rewriteMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m (Maybe a)) -> a -> m b
- transformMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m b) -> a -> m b
- mapMOf :: LensLike (WrappedMonad m) s t a b -> (a -> m b) -> s -> m t
- cosmosOf :: (Applicative f, Contravariant f) => LensLike' f a a -> LensLike' f a a
- to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a
- foldOf :: Getting a s a -> s -> a
Documentation
type Optic p f s t a b = p a (f b) -> p s (f t) Source #
Identical to Control.Lens.Type.
Optic
Utilities
rewriteOf :: ASetter a b a b -> (b -> Maybe a) -> a -> b Source #
Identical to Control.Lens.
rewriteOf
transformOf :: ASetter a b a b -> (b -> b) -> a -> b Source #
Identical to Control.Lens.
transformOf
rewriteMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m (Maybe a)) -> a -> m b Source #
Identical to Control.Lens.
rewriteMOf
transformMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m b) -> a -> m b Source #
Identical to Control.Lens.
transformMOf
mapMOf :: LensLike (WrappedMonad m) s t a b -> (a -> m b) -> s -> m t Source #
Identical to Control.Lens.
mapMOf
cosmosOf :: (Applicative f, Contravariant f) => LensLike' f a a -> LensLike' f a a Source #
Identical to Control.Lens.Plated.
cosmosOf
to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a Source #
Identical to Control.Lens.Getter.
to
foldOf :: Getting a s a -> s -> a Source #
Identical to Control.Lens.Fold.
foldOf