sealed
trait
LensFamily[-A1, +A2, +B1, -B2] extends AnyRef
Type Members
-
trait
LensLaw extends AnyRef
Abstract Value Members
-
abstract
def
run(a: A1): IndexedStore[B1, B2, A2]
Concrete Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
-
def
%=[B <: B2](f: (B1) ⇒ B): IndexedState[A1, A2, B]
-
def
%==(f: (B1) ⇒ B2): IndexedState[A1, A2, Unit]
-
def
***[C1, C2, D1, D2](that: LensFamily[C1, C2, D1, D2]): LensFamily[(A1, C1), (A2, C2), (B1, D1), (B2, D2)]
-
def
->>-[C, X1 <: A1, X2 >: A2](f: ⇒ IndexedState[X1, X2, C]): IndexedState[X1, X2, C]
-
def
:=[B <: B2](b: ⇒ B): IndexedState[A1, A2, B]
-
def
<=<[C1, C2](that: LensFamily[C1, C2, A1, A2]): LensFamily[C1, C2, B1, B2]
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
def
=>=(f: (B1) ⇒ B2): (A1) ⇒ A2
-
def
=>>=[X[+_]](f: (B1) ⇒ X[B2])(implicit XF: Functor[X]): (A1) ⇒ X[A2]
-
def
>-[C, A <: A1](f: (B1) ⇒ C): State[A, C]
-
def
>=>[C1, C2](that: LensFamily[B1, B2, C1, C2]): LensFamily[A1, A2, C1, C2]
-
def
>>-[C, X1 <: A1, X2 >: A2](f: (B1) ⇒ IndexedState[X1, X2, C]): IndexedState[X1, X2, C]
-
def
andThen[C1, C2](that: LensFamily[B1, B2, C1, C2]): LensFamily[A1, A2, C1, C2]
-
def
apply(a: A1): IndexedStore[B1, B2, A2]
-
final
def
asInstanceOf[T0]: T0
-
def
assign[B <: B2](b: ⇒ B): IndexedState[A1, A2, B]
-
def
clone(): AnyRef
-
def
compose[C1, C2](that: LensFamily[C1, C2, A1, A2]): LensFamily[C1, C2, B1, B2]
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
def
flatMap[C, X1 <: A1, X2 >: A2](f: (B1) ⇒ IndexedState[X1, X2, C]): IndexedState[X1, X2, C]
-
def
get(a: A1): B1
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
-
-
def
liftsNT: ~>[[+x]IndexedStateT[[+X]X, B1, B2, x], [+x]IndexedStateT[[+X]X, A1, A2, x]]
-
def
map[C, A <: A1](f: (B1) ⇒ C): State[A, C]
-
def
mod(f: (B1) ⇒ B2, a: A1): A2
-
def
modf[X[+_]](f: (B1) ⇒ X[B2], a: A1)(implicit XF: Functor[X]): X[A2]
-
def
modp[C](f: (B1) ⇒ (B2, C), a: A1): (A2, C)
-
def
mods[B <: B2](f: (B1) ⇒ B): IndexedState[A1, A2, B]
-
def
mods_(f: (B1) ⇒ B2): IndexedState[A1, A2, Unit]
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
def
partial: PLensFamily[A1, A2, B1, B2]
-
def
product[C1, C2, D1, D2](that: LensFamily[C1, C2, D1, D2]): LensFamily[(A1, C1), (A2, C2), (B1, D1), (B2, D2)]
-
def
set(a: A1, b: B2): A2
-
def
st[A <: A1]: State[A, B1]
-
def
sum[C1, C2, B1m >: B1, B2m <: B2](that: ⇒ LensFamily[C1, C2, B1m, B2m]): LensFamily[\/[A1, C1], \/[A2, C2], B1m, B2m]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
def
unary_~: PLensFamily[A1, A2, B1, B2]
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
-
def
xmapA[X1, X2](f: (A2) ⇒ X2)(g: (X1) ⇒ A1): LensFamily[X1, X2, B1, B2]
-
def
xmapB[X1, X2](f: (B1) ⇒ X1)(g: (X2) ⇒ B2): LensFamily[A1, A2, X1, X2]
-
-
-
def
|||[C1, C2, A1m <: A1, A2m >: A2, B1m >: B1, B2m <: B2](that: ⇒ LensFamily[C1, C2, B1m, B2m]): LensFamily[\/[A1, C1], \/[A2, C2], B1m, B2m]
Inherited from AnyRef
Inherited from Any
A Lens Family, offering a purely functional means to access and retrieve a field transitioning from type
B1
to typeB2
in a record simultaneously transitioning from typeA1
to typeA2
. scalaz.Lens is a convenient alias for whenF =:= Id
,A1 =:= A2
, andB1 =:= B2
.The term field should not be interpreted restrictively to mean a member of a class. For example, a lens family can address membership of a
Set
.The initial type of the record
The final type of the record
The initial type of the field
The final type of the field
scalaz.PLens