SemiObstructed

libretto.lambda.Shuffled.SemiObstructed
case class SemiObstructed[A, X1, X2, Y2, Z2, B1, B2](left: A shuffle.~⚬ (X1 |*| X2), bottom1: Plated[X2, Y2], bottom2: Y2 shuffle.~⚬ Z2, right: shuffle.TransferOpt[X1, Z2, B1, B2]) extends Permeable[A, B1 |*| B2]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Permeable[A, B1 |*| B2]
trait Shuffled[A, B1 |*| B2]
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def after[Z](that: Shuffled[Z, A]): Shuffled[Z, B1 |*| B2]

Attributes

Definition Classes
override def afterShuffle[Z](that: Z shuffle.~⚬ A): Shuffled[Z, B1 |*| B2]

Attributes

Definition Classes
override def chaseBw[G[_], T](i: Focus[|*|, G])(using ev: (B1 |*| B2) =:= G[T]): ChaseBwRes[A, G, T]

Attributes

Definition Classes
override def chaseFw[F[_], T](i: Focus[|*|, F])(using A =:= F[T]): ChaseFwRes[F, T, B1 |*| B2]

Attributes

Definition Classes
override def foldMap[->>[_, _]](tr: [x, y] => (x -> y) => ->>[x, y])(using ev: SymmetricSemigroupalCategory[->>, |*|]): A ->> (B1 |*| B2)

Attributes

Definition Classes
override def inFst[Q]: Shuffled[A |*| Q, B1 |*| B2 |*| Q]

Attributes

Definition Classes
override def inSnd[P]: Shuffled[P |*| A, P |*| (B1 |*| B2)]

Attributes

Definition Classes
override def project[C](p: Projection[|*|, B1 |*| B2, C], f: [P, Q, R] => (x$1: P -> Q, x$2: Projection[|*|, Q, R]) => ProjectRes[P, R]): ProjectRes[A, C]

Attributes

Definition Classes
override def sweepL[F[_], ->>[_, _]](a: F[A], f: [t, u] => (x$1: F[t], x$2: t -> u) => (->>[t, u], F[u]))(using tgt: With[->>, |*|, shuffle.type], F: StrongZippable[|*|, F]): (tgt.Shuffled[A, B1 |*| B2], F[B1 |*| B2])

Attributes

Definition Classes
override def thenShuffle[C](s: (B1 |*| B2) shuffle.~⚬ C): Permeable[A, C]

Attributes

Definition Classes
override def translate[->>[_, _], <*>[_, _], F[_, _], S](fa: F[A, S], om: SemigroupalObjectMap[|*|, <*>, F], am: ArrowMap[->, ->>, F])(using tgt: Shuffled[->>, <*>]): Exists[[T] =>> (Shuffled[S, T], F[B1 |*| B2, T])]

Attributes

Definition Classes
override def traverse[G[_], ->>[_, _]](f: [t, u] => (t -> u) => G[->>[t, u]])(using tgt: With[->>, |*|, shuffle.type], G: Applicative[G]): G[tgt.Shuffled[A, B1 |*| B2]]

Attributes

Definition Classes
override def unconsSome: UnconsSomeRes[A, B1 |*| B2]

Attributes

Definition Classes

Inherited methods

def >[C](that: Shuffled[B1 |*| B2, C]): Shuffled[A, C]

Attributes

Inherited from:
Shuffled
def at[F[_]](f: Focus[|*|, F]): Shuffled[F[A], F[B1 |*| B2]]

Attributes

Inherited from:
Shuffled
def from[Z](using ev: Z =:= A): Shuffled[Z, B1 |*| B2]

Attributes

Inherited from:
Shuffled
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product
def takeLeadingForestAtWhile[F[_], X, ->>[_, _]](pos: Focus[|*|, F], pred: [x, y] => (x -> y) => Option[->>[x, y]])(using ev: A =:= F[X]): Exists[[Y] =>> (AForest[->>, |*|, X, Y], Shuffled[F[Y], B1 |*| B2])]

Extracts the maximum forest-shaped prefix at the given position satisfying the given predicate.

Extracts the maximum forest-shaped prefix at the given position satisfying the given predicate.

Attributes

Inherited from:
Shuffled
def to[C](using ev: (B1 |*| B2) =:= C): Shuffled[A, C]

Attributes

Inherited from:
Shuffled