PLensFamilyFunctions

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

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

The always-null partial lens family

The always-null partial lens family

def plensFamily[A1, A2, B1, B2](r: A1 => Option[IndexedStore[B1, B2, A2]]): PLensFamily[A1, A2, B1, B2]
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

def plensFamilyf[A1, A2, B1, B2](r: PartialFunction[A1, IndexedStore[B1, B2, A2]]): PLensFamily[A1, A2, B1, B2]
def plensFamilyg[A1, A2, B1, B2](set: A1 => Option[B2 => A2], get: A1 => Option[B1]): PLensFamily[A1, A2, B1, B2]
def rightPLensFamily[A, B1, B2]: PLensFamily[A \/ B1, A \/ B2, B1, B2]
def somePLensFamily[A1, A2]: PLensFamily[Option[A1], Option[A2], A1, A2]
def tuple2PLensFamily[S1, S2, A, B](lens: PLensFamily[S1, S2, (A, B), (A, B)]): (PLensFamily[S1, S2, A, A], PLensFamily[S1, S2, B, B])
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])
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])
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])
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])
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])

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