# Package com.jnape.palatable.lambda.optics.functions

- Class Summary
  Class | Description
  --- | ---
  Matching<S,T,A,B> |
  Over<S,T,A,B> | Given an `Optic`, a function from `A` to `B`, and a "larger" value `S`, produce a `T` by retrieving the `A` from the `S`, applying the function, and updating the `S` with the `B` resulting from the function.
  Pre<P extends Profunctor<?,?,? extends P>,S,T,A,B> | Turn an `Optic` with a unary mapping that can be used for viewing some number of values into an `Optic` that views the first value, if it exists.
  Re<S,T,A,B> | Turn an `Optic` with a unary mapping that can be used for setting (e.g.
  Set<S,T,A,B> | Given an `Optic`, a "smaller" value `B`, and a "larger" value `S`, produce a `T` by lifting the `Optic` into the `Identity` functor.
  Under<S,T,A,B> | The inverse of `Over`: given an `Iso`, a function from `T` to `S`, and a "smaller" value `B`, return a "smaller" value `A` by traversing around the type ring (`B -> T -> S -> A`).
  View<S,T,A,B> | Given an `Optic` and a "larger" value `S`, retrieve a "smaller" value `A` by lifting the `Optic` into the `Const` functor.