ReadCompose

dev.constructive.eo.compose.ReadCompose
See theReadCompose companion trait

Typeclass instances for ReadCompose — the read-arity lattice. The four total/partial cells sit at normal priority; the many-fold fallback sits in LowPriorityReadCompose because carriers with an Accessor / PartialAccessor usually admit a ForgetfulFold too, and the stronger read must win.

Attributes

Companion
trait
Source
ReadCompose.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Grouped members

Instances

given foldFold: [F[_, _], G[_, _]] => (ForgetfulFold[F], ForgetfulFold[G]) => foldFold[F, G]

Anything foldable ∘ anything foldable → optics.ForgetFold over List. Fires only when no total/partial instance applies, i.e. at least one side is genuinely multi-focus (MultiFocus[F] / Forget[F]).

Anything foldable ∘ anything foldable → optics.ForgetFold over List. Fires only when no total/partial instance applies, i.e. at least one side is genuinely multi-focus (MultiFocus[F] / Forget[F]).

Attributes

Inherited from:
LowPriorityReadCompose
Source
ReadCompose.scala

Givens

Givens

given forgetTotal: [F[_], G[_, _]] => (Accessor[G], Functor[F], Foldable[F]) => forgetTotal[F, G]

Fold[F] ∘ total → optics.ForgetFold over the same F: Functor.map the inner read over the outer's foci, keeping the container (an Option fold stays an Option, an Either[E, *] fold keeps its Left). @group Instances

Fold[F] ∘ total → optics.ForgetFold over the same F: Functor.map the inner read over the outer's foci, keeping the container (an Option fold stays an Option, an Either[E, *] fold keeps its Left). @group Instances

Attributes

Source
ReadCompose.scala
given partialPartial: [F[_, _], G[_, _]] => (PartialAccessor[F], PartialAccessor[G]) => partialPartial[F, G]

partial ∘ partial → optics.PickFold. @group Instances

partial ∘ partial → optics.PickFold. @group Instances

Attributes

Source
ReadCompose.scala
given partialTotal: [F[_, _], G[_, _]] => (PartialAccessor[F], Accessor[G]) => partialTotal[F, G]

partial ∘ total → optics.PickFold. @group Instances

partial ∘ total → optics.PickFold. @group Instances

Attributes

Source
ReadCompose.scala
given totalPartial: [F[_, _], G[_, _]] => (Accessor[F], PartialAccessor[G]) => totalPartial[F, G]

total ∘ partial → optics.PickFold. @group Instances

total ∘ partial → optics.PickFold. @group Instances

Attributes

Source
ReadCompose.scala
given totalTotal: [F[_, _], G[_, _]] => (Accessor[F], Accessor[G]) => totalTotal[F, G]

total ∘ total → optics.Getter. @group Instances

total ∘ total → optics.Getter. @group Instances

Attributes

Source
ReadCompose.scala

Inherited givens

given forgetPartial: [F[_], G[_, _]] => (PartialAccessor[G], FunctorFilter[F], Foldable[F]) => forgetPartial[F, G]

Fold[F] ∘ partial → optics.ForgetFold over the same F: FunctorFilter.mapFilter the inner getOption over the outer's foci, so an inner miss is F's own empty (None, an empty List, an error-carrying result's "empty value"). @group Instances

Fold[F] ∘ partial → optics.ForgetFold over the same F: FunctorFilter.mapFilter the inner getOption over the outer's foci, so an inner miss is F's own empty (None, an empty List, an error-carrying result's "empty value"). @group Instances

Attributes

Inherited from:
MidPriorityReadCompose
Source
ReadCompose.scala