IsomorphismBifunctor

trait IsomorphismBifunctor[F[_, _], G[_, _]] extends Bifunctor[F]
trait Bifunctor[F]
class Object
trait Matchable
class Any

Value members

Abstract methods

def iso: IsoBifunctor[F, G]

Concrete methods

override
def bimap[A, B, C, D](fab: F[A, B])(f: A => C, g: B => D): F[C, D]
Definition Classes

Inherited methods

def compose[G[_, _]](implicit G0: Bifunctor[G]): Bifunctor[[α, β] =>> F[G[α, β], G[α, β]]]

The composition of Bifunctors F and G, [x,y]F[G[x,y],G[x,y]], is a Bifunctor

The composition of Bifunctors F and G, [x,y]F[G[x,y],G[x,y]], is a Bifunctor

Inherited from
Bifunctor
def embed[G[_], H[_]](implicit G0: Functor[G], H0: Functor[H]): Bifunctor[[α, β] =>> F[G[α], H[β]]]

Embed two Functors , one on each side

Embed two Functors , one on each side

Inherited from
Bifunctor
def embedLeft[G[_]](implicit G0: Functor[G]): Bifunctor[[α, β] =>> F[G[α], β]]

Embed one Functor to the left

Embed one Functor to the left

Inherited from
Bifunctor
def embedRight[H[_]](implicit H0: Functor[H]): Bifunctor[[α, β] =>> F[α, H[β]]]

Embed one Functor to the right

Embed one Functor to the right

Inherited from
Bifunctor
def leftFunctor[X]: Functor[F]

Extract the Functor on the first param.

Extract the Functor on the first param.

Inherited from
Bifunctor
def leftMap[A, B, C](fab: F[A, B])(f: A => C): F[C, B]
Inherited from
Bifunctor
def product[G[_, _]](implicit G0: Bifunctor[G]): Bifunctor[[α, β] =>> (F[α, β], G[α, β])]

The product of Bifunctors F and G, [x,y](F[x,y], G[x,y]), is a Bifunctor

The product of Bifunctors F and G, [x,y](F[x,y], G[x,y]), is a Bifunctor

Inherited from
Bifunctor
def rightFunctor[X]: Functor[[_] =>> F[X, _$8]]

Extract the Functor on the second param.

Extract the Functor on the second param.

Inherited from
Bifunctor
def rightMap[A, B, D](fab: F[A, B])(g: B => D): F[A, D]
Inherited from
Bifunctor

Unify the functor over both params.

Unify the functor over both params.

Inherited from
Bifunctor
def umap[A, B](faa: F[A, A])(f: A => B): F[B, B]
Inherited from
Bifunctor
def widen[A, B, C >: A, D >: B](fab: F[A, B]): F[C, D]

Bifunctors are covariant by nature

Bifunctors are covariant by nature

Inherited from
Bifunctor

Inherited fields

Implicits

Implicits

implicit
def G: Bifunctor[G]