Indexed

dev.constructive.eo.optics.Indexed
See theIndexed companion trait
object Indexed

Attributes

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

Members list

Type members

Types

type Aux[S, T, A, B, I, X0] = Indexed[S, T, A, B, I] { type X = X0; }

Attributes

Source
Indexed.scala
type Grate[S, T, A, B, I] = Aux[S, T, A, B, I, Unit]

The context-free specialization — the classical Grate shape (X = Unit), with the full-grid index. Generic andThen retains its product context even when both inputs have Unit context; no context-erasing coercion is installed in this prototype.

The context-free specialization — the classical Grate shape (X = Unit), with the full-grid index. Generic andThen retains its product context even when both inputs have Unit context; no context-erasing coercion is installed in this prototype.

Attributes

Source
Indexed.scala

Value members

Concrete methods

def apply[S, T, A, B, I, X0](decompose: S => (X0, I => A))(assemble: (X0, I => B) => T): Aux[S, T, A, B, I, X0]

User-written to / from algebra. The caller is responsible for the laws stated on Indexed.

User-written to / from algebra. The caller is responsible for the laws stated on Indexed.

Attributes

Source
Indexed.scala
def iso[S, T, A, B](forward: S => A)(backward: B => T): Grate[S, T, A, B, Unit]

An Iso has one coordinate, not a broadcast over an arbitrary (possibly empty) index. The functions must be inverse in the monomorphic case, or have matching target-side inverses in the polymorphic case.

An Iso has one coordinate, not a broadcast over an arbitrary (possibly empty) index. The functions must be inverse in the monomorphic case, or have matching target-side inverses in the polymorphic case.

Attributes

Source
Indexed.scala
def representable[F[_], A, B](r: Representable[F]): Grate[F[A], F[B], A, B, r.Representation]

A cats Representable supplies precisely the two inverse tabulation operations needed here. Passed explicitly so its path-dependent Representation is retained without another given.

A cats Representable supplies precisely the two inverse tabulation operations needed here. Passed explicitly so its path-dependent Representation is retained without another given.

Attributes

Source
Indexed.scala
def unit[A, B]: Grate[A, B, A, B, Unit]

Identity algebra on a single Unit coordinate, including type-changing writes.

Identity algebra on a single Unit coordinate, including type-changing writes.

Attributes

Source
Indexed.scala