dhall-1.39.0: A configuration language guaranteed to terminate
Safe HaskellSafe-Inferred
LanguageHaskell2010

Dhall.Optics

Contents

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 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 #

type Optic' p f s a = Optic p f s s a a 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 #

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

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

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 #

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 #