Graft

dev.constructive.eo.accessor.Graft
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.

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
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object graft

Members list

Value members

Abstract methods

def done[X, B](fst: Fst[X]): F[X, B]

Inject an already-finished payload — no further building for this slot.

Inject an already-finished payload — no further building for this slot.

Attributes

Source
Graft.scala
def step[X, B](snd: Snd[X], b: B): F[X, B]

Inject a focus b alongside its leftover context — keep building.

Inject a focus b alongside its leftover context — keep building.

Attributes

Source
Graft.scala