CanPlace

dev.constructive.eo.CanPlace
See theCanPlace companion object
trait CanPlace[T, B]

Capability: a B can be written into an already-built T — the carrier-free surface of the place / transfer extensions.

Unlike its siblings this capability has NO derived given: the extensions additionally require T => F[X, B] evidence over the optic's existential X, which a generic optic given does not refine. Construct it explicitly at the seam instead — CanPlace.from(myLens) — and pass it along. See CanGet for the doctrine and the coherence rule.

Attributes

Companion
object
Source
CanPlace.scala
Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def place(b: B): T => T

Attributes

Source
CanPlace.scala

Concrete methods

def transfer[C](f: C => B): T => C => T

Attributes

Source
CanPlace.scala