LensFamilyFunctions

class Object
trait Matchable
class Any
object Lens
object LensFamily

Value members

Concrete methods

def codiagLensFamily[A1, A2]: LensFamily[A1 \/ A1, A2 \/ A2, A1, A2]

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

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

def distributeLensFamily[A1, A2, B1, B2, C1, C2]: LensFamily[(A1, B1 \/ C1), (A2, B2 \/ C2), (A1, B1) \/ (A1, C1), (A2, B2) \/ (A2, C2)]
def factorLensFamily[A1, A2, B1, B2, C1, C2]: LensFamily[(A1, B1) \/ (A1, C1), (A2, B2) \/ (A2, C2), (A1, B1 \/ C1), (A2, B2 \/ C2)]
def firstLensFamily[A1, A2, B]: LensFamily[(A1, B), (A2, B), A1, A2]

Polymorphically access the first field of a tuple

Polymorphically access the first field of a tuple

def lazyFirstLensFamily[A1, A2, B]: LensFamily[LazyTuple2[A1, B], LazyTuple2[A2, B], A1, A2]

Polymorphically access the first field of a tuple

Polymorphically access the first field of a tuple

def lazySecondLensFamily[A, B1, B2]: LensFamily[LazyTuple2[A, B1], LazyTuple2[A, B2], B1, B2]

Polymorphically access the second field of a tuple

Polymorphically access the second field of a tuple

def lensFamily[A1, A2, B1, B2](r: A1 => IndexedStore[B1, B2, A2]): LensFamily[A1, A2, B1, B2]
def lensFamilyId[A1, A2]: LensFamily[A1, A2, A1, A2]

The identity lens family for a given pair of objects

The identity lens family for a given pair of objects

def lensFamilyg[A1, A2, B1, B2](set: A1 => B2 => A2, get: A1 => B1): LensFamily[A1, A2, B1, B2]
def lensFamilyu[A1, A2, B1, B2](set: (A1, B2) => A2, get: A1 => B1): LensFamily[A1, A2, B1, B2]
def predicateLensFamily[A1, A2]: LensFamily[Store[A1, Boolean], Store[A2, Boolean], A1 \/ A1, A2 \/ A2]
def secondLensFamily[A, B1, B2]: LensFamily[(A, B1), (A, B2), B1, B2]

Polymorphically access the second field of a tuple

Polymorphically access the second field of a tuple