Safe Haskell | Safe |
---|---|

Language | Haskell2010 |

## Synopsis

- type Getter s a = forall (f :: * -> *). (Contravariant f, Functor f) => (a -> f a) -> s -> f s
- to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a

# Getter

type Getter s a = forall (f :: * -> *). (Contravariant f, Functor f) => (a -> f a) -> s -> f s #

A `Getter`

describes how to retrieve a single value in a way that can be
composed with other `LensLike`

constructions.

Unlike a `Lens`

a `Getter`

is read-only. Since a `Getter`

cannot be used to write back there are no `Lens`

laws that can be applied to
it. In fact, it is isomorphic to an arbitrary function from `(s -> a)`

.

Moreover, a `Getter`

can be used directly as a `Fold`

,
since it just ignores the `Applicative`

.

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