IsomorphismArrow

trait IsomorphismArrow[F[_, _], G[_, _]] extends Arrow[F] with IsomorphismSplit[F, G] with IsomorphismStrong[F, G] with IsomorphismCategory[F, G]
trait Arrow[F]
trait Category[F]
trait Strong[F]
trait Profunctor[F]
trait Split[F]
trait Compose[F]
class Object
trait Matchable
class Any

Type members

Inherited classlikes

Inherited from
Category
Inherited from
Compose
Inherited from
Profunctor
Inherited from
Strong

Value members

Concrete methods

override
def arr[A, B](f: A => B): F[A, B]
Definition Classes

Inherited methods

final
def <<<[A, B, C](fbc: F[B, C], fab: F[A, B]): F[A, C]

Alias for compose.

Alias for compose.

Inherited from
Arrow
def >>>[A, B, C](fab: F[A, B], fbc: F[B, C]): F[A, C]

Flipped <<<.

Flipped <<<.

Inherited from
Arrow
Inherited from
Category
def combine[A, B, C](fab: F[A, B], fac: F[A, C]): F[A, (B, C)]

Run fab and fac on the same A. Sometimes &&&.

Run fab and fac on the same A. Sometimes &&&.

Inherited from
Arrow
override
def compose[A, B, C](f: F[B, C], g: F[A, B]): F[A, C]
Definition Classes
Inherited from
IsomorphismCompose
Inherited from
Compose
override
def covariantInstance[C]: Applicative[[_] =>> F[C, _$3]]
Definition Classes
Inherited from
Arrow
def dimap[A, B, C, D](fab: F[A, B])(f: C => A)(g: B => D): F[C, D]

Functor map on A and B.

Functor map on A and B.

Inherited from
Profunctor

monoid, but universally quantified.

monoid, but universally quantified.

Inherited from
Category
override
def first[A, B, C](fa: F[A, B]): F[(A, C), (B, C)]
Definition Classes
Inherited from
IsomorphismStrong
override
def id[A]: F[A, A]
Definition Classes
Inherited from
IsomorphismCategory
def iso: IsoBifunctor[F, G]
Inherited from
IsomorphismProfunctor
override
def mapfst[A, B, C](fab: F[A, B])(f: C => A): F[C, B]
Definition Classes
Inherited from
IsomorphismProfunctor
override
def mapsnd[A, B, C](fab: F[A, B])(f: B => C): F[A, C]
Definition Classes
Inherited from
IsomorphismProfunctor
def monoid[A]: Monoid[F[A, A]]

The endomorphism monoid, where zero=id and append=compose.

The endomorphism monoid, where zero=id and append=compose.

Inherited from
Category
def plus: Plus[F]

semigroup, but universally quantified.

semigroup, but universally quantified.

Inherited from
Compose
def product[A, B](fab: F[A, B]): F[(A, A), (B, B)]

Run two fabs alongside each other.

Run two fabs alongside each other.

Inherited from
Arrow
override
def second[A, B, C](fa: F[A, B]): F[(C, A), (C, B)]
Definition Classes
Inherited from
IsomorphismStrong
def semigroup[A]: Semigroup[F[A, A]]

The endomorphism semigroup, where append=compose.

The endomorphism semigroup, where append=compose.

Inherited from
Compose
override
def split[A, B, C, D](f: F[A, B], g: F[C, D]): F[(A, C), (B, D)]
Definition Classes
Inherited from
IsomorphismSplit
final
def splitA[A, B, C, D](fab: F[A, B], fcd: F[C, D]): F[(A, C), (B, D)]

Alias for split.

Alias for split.

Inherited from
Arrow
Inherited from
Strong
def swap[X, Y]: F[(X, Y), (Y, X)]

Swaps a pair.

Swaps a pair.

Inherited from
Arrow

Inherited fields

Inherited from
Arrow
Inherited from
Category
Inherited from
Compose
Inherited from
Split
Inherited from
Strong

Implicits

Implicits

implicit
def G: Arrow[G]