Dhall.Optics

dhall-1.42.2: A configuration language guaranteed to terminate

Safe Haskell | Safe-Inferred
Language | Haskell2010

Dhall.Optics

Contents

- Utilities

Description

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 :: Type -> Type -> Type) (f :: Type -> Type) s t a b = p a (f b) -> p s (f t)
- type Optic' (p :: Type -> Type -> Type) (f :: Type -> Type) 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 :: Type -> Type -> Type) (f :: Type -> Type) s t a b = p a (f b) -> p s (f t) #

Identical to `Control.Lens.Type.`Optic``

type Optic' (p :: Type -> Type -> Type) (f :: Type -> Type) s a = Optic p f s s a a #

Identical to `Control.Lens.Type.`Optic'``

# Utilities

rewriteOf :: ASetter a b a b -> (b -> Maybe a) -> a -> b #

Identical to `Control.Lens.`rewriteOf``

transformOf :: ASetter a b a b -> (b -> b) -> a -> b #

Identical to `Control.Lens.`transformOf``

rewriteMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m (Maybe a)) -> a -> m b #

Identical to `Control.Lens.`rewriteMOf``

transformMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m b) -> a -> m b #

Identical to `Control.Lens.`transformMOf``

mapMOf :: LensLike (WrappedMonad m) s t a b -> (a -> m b) -> s -> m t #

Identical to `Control.Lens.`mapMOf``

cosmosOf :: (Applicative f, Contravariant f) => LensLike' f a a -> LensLike' f a a #

Identical to `Control.Lens.Plated.`cosmosOf``

to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a #

Identical to `Control.Lens.Getter.`to``

foldOf :: Getting a s a -> s -> a #

Identical to `Control.Lens.Fold.`foldOf``