dev.constructive.eo.accessor

Gate typeclasses keyed by carrier: Accessor (total read), PartialAccessor (read that may miss), ReverseAccessor (build back from the write side). Signatures that take an Optic[…, F] plus one of these on F must list the optic '''first''' in the same using clause — left-to-right resolution pins F before the gate is searched.

Attributes

Members list

Type members

Classlikes

object Accessor

Typeclass instances for Accessor.

Typeclass instances for Accessor.

Attributes

Companion
trait
Source
Accessor.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Accessor.type
trait Accessor[F[_, _]]

Read the focus A out of a two-parameter carrier F[X, A]. Required by Optic.get; always-hitting carriers (Tuple2 for Lens, Direct for Iso / Getter) supply one.

Read the focus A out of a two-parameter carrier F[X, A]. Required by Optic.get; always-hitting carriers (Tuple2 for Lens, Direct for Iso / Getter) supply one.

Type parameters

F

the carrier

Attributes

Companion
object
Source
Accessor.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object tupleAccessor
object accessor
trait Graft[F[_, _]]

Build-channel injection for carriers with a finished arm — the vocabulary a generic recursion-scheme driver needs to feed a decoration's build seam without knowing the concrete variants.

Build-channel injection for carriers with a finished arm — the vocabulary a generic recursion-scheme driver needs to feed a decoration's build seam without knowing the concrete variants.

done injects an already-finished payload: the consumer must treat it as final (an apo graft places it in the result slot as-is; a futu unroll expands the prebuilt layer without consulting the coalgebra again). step injects a focus alongside its leftover context — the keep-going arm.

The payload meaning of done is pinned per optic value via the existential X (Fst[X]), not by this capability — see the Gather/Scatter decoration optics in cats-eo-schemes.

Type parameters

F

the carrier

Attributes

Source
Graft.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object graft

Typeclass instances for PartialAccessor.

Typeclass instances for PartialAccessor.

Attributes

Companion
trait
Source
PartialAccessor.scala
Supertypes
class Object
trait Matchable
class Any
Self type
trait PartialAccessor[F[_, _]]

Partial counterpart to Accessor — read the focus A out of F[X, A] when present, None on the miss branch. Required by Optic.getOption; maybe-hitting carriers (Either for Prism, Affine for Optional / AffineFold) supply one.

Partial counterpart to Accessor — read the focus A out of F[X, A] when present, None on the miss branch. Required by Optic.getOption; maybe-hitting carriers (Either for Prism, Affine for Optional / AffineFold) supply one.

Type parameters

F

the carrier

Attributes

Companion
object
Source
PartialAccessor.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait ReverseAccessor[F[_, _]]

Dual of Accessor — build a fresh F[X, A] from an A. Required by Optic.reverseGet.

Dual of Accessor — build a fresh F[X, A] from an A. Required by Optic.reverseGet.

Type parameters

F

the carrier

Attributes

Companion
object
Source
ReverseAccessor.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Typeclass instances for ReverseAccessor.

Typeclass instances for ReverseAccessor.

Attributes

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