Apo

dev.constructive.eo.schemes.zoo.Apo
See theApo companion class
object Apo

Attributes

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

Members list

Value members

Concrete methods

def scatter[S, A]: Optic[Either[S, A], Unit, A, Unit, Affine] { type X = (S, Unit); }

apo's per-slot residual worn on the data.Affine build seam — a scatter decoration. Left(s) → Miss(s) (the O(1) graft); Right(a) → Hit((), a) (keep unfolding). The existential is pinned X = (S, Unit): Fst[X] = S is the grafted subtree, Snd[X] = Unit (a single slot decision carries no extra one-layer leftover). As a genuine Optic[…, Affine] value it composes via data.Affine.assoc and the data.Affine.either2affine bridge (so a Prism whose focus is the residual composes straight into it). The X is exposed (refined) so Fst[X] reduces at use sites.

apo's per-slot residual worn on the data.Affine build seam — a scatter decoration. Left(s) → Miss(s) (the O(1) graft); Right(a) → Hit((), a) (keep unfolding). The existential is pinned X = (S, Unit): Fst[X] = S is the grafted subtree, Snd[X] = Unit (a single slot decision carries no extra one-layer leftover). As a genuine Optic[…, Affine] value it composes via data.Affine.assoc and the data.Affine.either2affine bridge (so a Prism whose focus is the residual composes straight into it). The X is exposed (refined) so Fst[X] reduces at use sites.

Attributes

Source
Apo.scala