PLensFunctions

class Object
trait Matchable
class Any
object PLens

Type members

Inherited classlikes

case
class FractionalPLens[S, F](lens: PLens[S, F], frac: Fractional[F])

Allow the illusion of imperative updates to potential numbers viewed through a partial lens

Allow the illusion of imperative updates to potential numbers viewed through a partial lens

Inherited from
PLensInstances
case
class IntegralPLens[S, I](lens: PLens[S, I], ig: Integral[I])

Allow the illusion of imperative updates to potential numbers viewed through a partial lens

Allow the illusion of imperative updates to potential numbers viewed through a partial lens

Inherited from
PLensInstances
case
class NumericPLens[S, N](lens: PLens[S, N], num: Numeric[N])(implicit evidence$1: Numeric[N])

Allow the illusion of imperative updates to potential numbers viewed through a partial lens

Allow the illusion of imperative updates to potential numbers viewed through a partial lens

Inherited from
PLensInstances

Value members

Concrete methods

def codiagPLens[A]: PLens[A \/ A, A]

A lens that discards the choice of right or left from disjunction

A lens that discards the choice of right or left from disjunction

def distributePLens[A, B, C]: PLens[(A, B \/ C), (A, B) \/ (A, C)]
def eitherLens[S, A, B](l: PLens[S, A \/ B]): (PLens[S, A], PLens[S, B])
def ephemeralStreamLookupByPLens[K, V](p: K => Boolean): PLens[EphemeralStream[(K, V)], V]
def ephemeralStreamLookupPLens[K : Equal, V](k: K): PLens[EphemeralStream[(K, V)], V]
def factorPLens[A, B, C]: PLens[(A, B) \/ (A, C), (A, B \/ C)]
def iListHeadPLens[A]: PLens[IList[A], A]
def iListLookupByPLens[K, V](p: K => Boolean): PLens[IList[(K, V)], V]
def iListLookupPLens[K : Equal, V](k: K): PLens[IList[(K, V)], V]
def iListNthPLens[A](n: Int): PLens[IList[A], A]
def lazyLeftPLens[A, B]: PLens[LazyEither[A, B], A]
def lazyRightPLens[A, B]: PLens[LazyEither[A, B], B]
def leftPLens[A, B]: PLens[A \/ B, A]
def listHeadPLens[A]: PLens[List[A], A]
def listLookupByPLens[K, V](p: K => Boolean): PLens[List[(K, V)], V]
def listLookupPLens[K : Equal, V](k: K): PLens[List[(K, V)], V]
def listNthPLens[A](n: Int): PLens[List[A], A]
def listTailPLens[A]: PLens[List[A], List[A]]
def mapVPLens[K, V](k: K): PLens[Map[K, V], V]
def nil[A, B]: PLens[A, B]

The always-null partial lens

The always-null partial lens

def plens[A, B](r: A => Option[Store[B, A]]): PLens[A, B]
def plensId[A]: PLens[A, A]

The identity partial lens for a given object

The identity partial lens for a given object

def plensf[A, B](r: PartialFunction[A, Store[B, A]]): PLens[A, B]
def plensg[A, B](set: A => Option[B => A], get: A => Option[B]): PLens[A, B]
def plensgf[A, B](set: PartialFunction[A, B => A], get: PartialFunction[A, B]): PLens[A, B]
def rightPLens[A, B]: PLens[A \/ B, B]
def somePLens[A]: PLens[Option[A], A]
def streamHeadPLens[A]: PLens[Stream[A], A]
def streamLookupByPLens[K, V](p: K => Boolean): PLens[Stream[(K, V)], V]
def streamLookupPLens[K : Equal, V](k: K): PLens[Stream[(K, V)], V]
def streamNthPLens[A](n: Int): PLens[Stream[A], A]
def streamTailPLens[A]: PLens[Stream[A], Stream[A]]
def trivialPLens[A]: PLens[A, Unit]

The trivial partial lens that can retrieve Unit from anything

The trivial partial lens that can retrieve Unit from anything

def tuple2PLens[S, A, B](lens: PLens[S, (A, B)]): (PLens[S, A], PLens[S, B])
def tuple3PLens[S, A, B, C](lens: PLens[S, (A, B, C)]): (PLens[S, A], PLens[S, B], PLens[S, C])
def tuple4PLens[S, A, B, C, D](lens: PLens[S, (A, B, C, D)]): (PLens[S, A], PLens[S, B], PLens[S, C], PLens[S, D])
def tuple5PLens[S, A, B, C, D, E](lens: PLens[S, (A, B, C, D, E)]): (PLens[S, A], PLens[S, B], PLens[S, C], PLens[S, D], PLens[S, E])
def tuple6PLens[S, A, B, C, D, E, H](lens: PLens[S, (A, B, C, D, E, H)]): (PLens[S, A], PLens[S, B], PLens[S, C], PLens[S, D], PLens[S, E], PLens[S, H])
def tuple7PLens[S, A, B, C, D, E, H, I](lens: PLens[S, (A, B, C, D, E, H, I)]): (PLens[S, A], PLens[S, B], PLens[S, C], PLens[S, D], PLens[S, E], PLens[S, H], PLens[S, I])
def vectorHeadPLens[A]: PLens[Vector[A], A]
def vectorLastPLens[A]: PLens[Vector[A], A]
def vectorNthPLens[A](n: Int): PLens[Vector[A], A]

Inherited methods

def codiagPLensFamily[A1, A2]: PLensFamily[A1 \/ A1, A2 \/ A2, A1, A2]

A partial lens family that discards the choice of right or left from disjunction

A partial lens family that discards the choice of right or left from disjunction

Inherited from
PLensFamilyFunctions
def distributePLensFamily[A1, A2, B1, B2, C1, C2]: PLensFamily[(A1, B1 \/ C1), (A2, B2 \/ C2), (A1, B1) \/ (A1, C1), (A2, B2) \/ (A2, C2)]
Inherited from
PLensFamilyFunctions
def eitherLensFamily[S1, S2, A, B](l: PLensFamily[S1, S2, A \/ B, A \/ B]): (PLensFamily[S1, S2, A, A], PLensFamily[S1, S2, B, B])
Inherited from
PLensFamilyFunctions
def factorPLensFamily[A1, A2, B1, B2, C1, C2]: PLensFamily[(A1, B1) \/ (A1, C1), (A2, B2) \/ (A2, C2), (A1, B1 \/ C1), (A2, B2 \/ C2)]
Inherited from
PLensFamilyFunctions
def lazyLeftPLensFamily[A1, A2, B]: PLensFamily[LazyEither[A1, B], LazyEither[A2, B], A1, A2]
Inherited from
PLensFamilyFunctions
def lazyRightPLensFamily[A, B1, B2]: PLensFamily[LazyEither[A, B1], LazyEither[A, B2], B1, B2]
Inherited from
PLensFamilyFunctions
def lazySomePLensFamily[A1, A2]: PLensFamily[LazyOption[A1], LazyOption[A2], A1, A2]
Inherited from
PLensFamilyFunctions
def leftPLensFamily[A1, A2, B]: PLensFamily[A1 \/ B, A2 \/ B, A1, A2]
Inherited from
PLensFamilyFunctions
def nilFamily[A1, A2, B1, B2]: PLensFamily[A1, A2, B1, B2]

The always-null partial lens family

The always-null partial lens family

Inherited from
PLensFamilyFunctions
def plensFamily[A1, A2, B1, B2](r: A1 => Option[IndexedStore[B1, B2, A2]]): PLensFamily[A1, A2, B1, B2]
Inherited from
PLensFamilyFunctions
def plensFamilyId[A1, A2]: PLensFamily[A1, A2, A1, A2]

The identity partial lens family for a given pair of objects

The identity partial lens family for a given pair of objects

Inherited from
PLensFamilyFunctions
def plensFamilyf[A1, A2, B1, B2](r: PartialFunction[A1, IndexedStore[B1, B2, A2]]): PLensFamily[A1, A2, B1, B2]
Inherited from
PLensFamilyFunctions
def plensFamilyg[A1, A2, B1, B2](set: A1 => Option[B2 => A2], get: A1 => Option[B1]): PLensFamily[A1, A2, B1, B2]
Inherited from
PLensFamilyFunctions
def rightPLensFamily[A, B1, B2]: PLensFamily[A \/ B1, A \/ B2, B1, B2]
Inherited from
PLensFamilyFunctions
def somePLensFamily[A1, A2]: PLensFamily[Option[A1], Option[A2], A1, A2]
Inherited from
PLensFamilyFunctions
def tuple2PLensFamily[S1, S2, A, B](lens: PLensFamily[S1, S2, (A, B), (A, B)]): (PLensFamily[S1, S2, A, A], PLensFamily[S1, S2, B, B])
Inherited from
PLensFamilyFunctions
def tuple3PLensFamily[S1, S2, A, B, C](lens: PLensFamily[S1, S2, (A, B, C), (A, B, C)]): (PLensFamily[S1, S2, A, A], PLensFamily[S1, S2, B, B], PLensFamily[S1, S2, C, C])
Inherited from
PLensFamilyFunctions
def tuple4PLensFamily[S1, S2, A, B, C, D](lens: PLensFamily[S1, S2, (A, B, C, D), (A, B, C, D)]): (PLensFamily[S1, S2, A, A], PLensFamily[S1, S2, B, B], PLensFamily[S1, S2, C, C], PLensFamily[S1, S2, D, D])
Inherited from
PLensFamilyFunctions
def tuple5PLensFamily[S1, S2, A, B, C, D, E](lens: PLensFamily[S1, S2, (A, B, C, D, E), (A, B, C, D, E)]): (PLensFamily[S1, S2, A, A], PLensFamily[S1, S2, B, B], PLensFamily[S1, S2, C, C], PLensFamily[S1, S2, D, D], PLensFamily[S1, S2, E, E])
Inherited from
PLensFamilyFunctions
def tuple6PLensFamily[S1, S2, A, B, C, D, E, H](lens: PLensFamily[S1, S2, (A, B, C, D, E, H), (A, B, C, D, E, H)]): (PLensFamily[S1, S2, A, A], PLensFamily[S1, S2, B, B], PLensFamily[S1, S2, C, C], PLensFamily[S1, S2, D, D], PLensFamily[S1, S2, E, E], PLensFamily[S1, S2, H, H])
Inherited from
PLensFamilyFunctions
def tuple7PLensFamily[S1, S2, A, B, C, D, E, H, I](lens: PLensFamily[S1, S2, (A, B, C, D, E, H, I), (A, B, C, D, E, H, I)]): (PLensFamily[S1, S2, A, A], PLensFamily[S1, S2, B, B], PLensFamily[S1, S2, C, C], PLensFamily[S1, S2, D, D], PLensFamily[S1, S2, E, E], PLensFamily[S1, S2, H, H], PLensFamily[S1, S2, I, I])
Inherited from
PLensFamilyFunctions

Implicits

Inherited implicits

implicit
def PLensFamilyState[A, B](plens: PLensFamily[A, _, B, _]): PState[A, B]

Partial Lenses may be used implicitly as State monadic actions that get the potentially viewed portion of the state

Partial Lenses may be used implicitly as State monadic actions that get the potentially viewed portion of the state

Inherited from
PLensInstances
implicit
def PLensFamilyUnzip[S, R]: Unzip[[α] =>> PLensFamily[S, R, α, α]]
Inherited from
PLensInstances
implicit
def fractionalPLens[S, F : Fractional](lens: PLens[S, F]): FractionalPLens[S, F]
Inherited from
PLensInstances
implicit
def integralPLens[S, I : Integral](lens: PLens[S, I]): IntegralPLens[S, I]
Inherited from
PLensInstances
implicit
def numericPLens[S, N : Numeric](lens: PLens[S, N]): NumericPLens[S, N]
Inherited from
PLensInstances
implicit
val plensCategory: PLensCategory
Inherited from
PLensInstances