ForgetK

dev.constructive.eo.data.Forget$package.ForgetK

Capability ladder for Forget. Each typeclass on F unlocks a matching optic operation:

 F: Functor      →  ForgetfulFunctor[Forget[F]]              →  .modify / .replace
 F: Foldable     →  ForgetfulFold[Forget[F]]                 →  .foldMap
 F: Traverse     →  ForgetfulTraverse[Forget[F], Applicative] →  .modifyA, .all
 F: Applicative  →  ForgetfulApplicative[Forget[F]]          →  .put
 F: Monad        →  AssociativeFunctor[Forget[F], _, _]      →  same-carrier .andThen
                                                                (algebraic-lens shape)

Forget[F]'s X is phantom — Traversal / Fold need no outer-structural context on from. For cases where the outer's leftover must survive, use the pair carrier MultiFocus; Forget[F] injects trivially into it via Composer[Forget[F], MultiFocus[F]]. Direct-targeting instances live in Direct.

Attributes

Source
Forget.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
ForgetK.type

Members list

Grouped members

Instances

Comonad-pull composition for F: FlatMap + Comonad. Composes via coflatMap on from.

Comonad-pull composition for F: FlatMap + Comonad. Composes via coflatMap on from.

Attributes

Inherited from:
LowPriorityForgetInstances
Source
Forget.scala

Algebraic-lens composition for F: Monad. Push: outer.to(s).flatMap(inner.to). Pull: the inner's from collapses F[D] to B, re-lifted via pure for the outer's F[B] => T. Higher priority than LowPriorityForgetInstances.assocForgetComonad so Monad wins.

Algebraic-lens composition for F: Monad. Push: outer.to(s).flatMap(inner.to). Pull: the inner's from collapses F[D] to B, re-lifted via pure for the outer's F[B] => T. Higher priority than LowPriorityForgetInstances.assocForgetComonad so Monad wins.

Attributes

Source
Forget.scala
given bifunctor: [F[_] : Functor] => bifunctor[F]

Bifunctor[Forget[F]] via the underlying Functor[F]. Left parameter is phantom; bimap routes only through the right-side F.

Bifunctor[Forget[F]] via the underlying Functor[F]. Left parameter is phantom; bimap routes only through the right-side F.

Attributes

Source
Forget.scala

ForgetfulApplicative[Forget[F]] via any Applicative[F]. Unlocks Optic.put on Forget-carrier optics.

ForgetfulApplicative[Forget[F]] via any Applicative[F]. Unlocks Optic.put on Forget-carrier optics.

Attributes

Source
Forget.scala
given forgetFFold: [F[_] : Foldable] => forgetFFold[F]

ForgetfulFold[Forget[F]] — delegates to the underlying Foldable[F]. Powers Fold.apply[F, A].

ForgetfulFold[Forget[F]] — delegates to the underlying Foldable[F]. Powers Fold.apply[F, A].

Attributes

Source
Forget.scala
given forgetFFunctor: [F[_]] => Functor[F] => forgetFFunctor[F]

Direct ForgetfulFunctor — calls Functor[F].map without routing through Bifunctor.

Direct ForgetfulFunctor — calls Functor[F].map without routing through Bifunctor.

Attributes

Source
Forget.scala

ForgetfulTraverse[Forget[F], Applicative] — lifts Traverse[F] into the two-parameter carrier shape. Core of Fold in its effectful form.

ForgetfulTraverse[Forget[F], Applicative] — lifts Traverse[F] into the two-parameter carrier shape. Core of Fold in its effectful form.

Attributes

Source
Forget.scala

Type members

Classlikes

object ForgetPull

Shipped ForgetPull strategies.

Shipped ForgetPull strategies.

Attributes

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

Strategy for "redistribute the inner from across the F-context" on the pull side. The Monad form ignores the F[D] and lifts a single inner.from(xd) via pure; the Comonad form coflatMaps inner.from over the existing F[D]. Other lawful strategies (e.g. Distributive[F].cosequence over an inner F[F[B]]) could be added as further instances.

Strategy for "redistribute the inner from across the F-context" on the pull side. The Monad form ignores the F[D] and lifts a single inner.from(xd) via pure; the Comonad form coflatMaps inner.from over the existing F[D]. Other lawful strategies (e.g. Distributive[F].cosequence over an inner F[F[B]]) could be added as further instances.

Attributes

Companion
object
Source
Forget.scala
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

transparent inline def apply[F[_], X, A](fa: F[A]): ForgetK[F, X, A]

Wrap an F[A] into the Forget[F] carrier. Identity at runtime (the opaque type erases to F[A]); needed only so construction sites outside this file satisfy the Forget[F][X, A] type.

Wrap an F[A] into the Forget[F] carrier. Identity at runtime (the opaque type erases to F[A]); needed only so construction sites outside this file satisfy the Forget[F][X, A] type.

Attributes

Source
Forget.scala

Extensions

Extensions

extension [F[_], X, A](self: ForgetK[F, X, A])
transparent inline def value: F[A]

Unwrap the carried F[A]. Identity at runtime.

Unwrap the carried F[A]. Identity at runtime.

Attributes

Source
Forget.scala