cats.Bifunctor
See theBifunctor companion object
trait Bifunctor[F[_, _]] extends Serializable
A type class of types which give rise to two independent, covariant functors.
Attributes
- Companion
- object
- Source
- Bifunctor.scala
- Graph
-
- Supertypes
- Known subtypes
-
trait Bitraverse[F]
- Self type
-
Bifunctor[F]
Members list
Value members
Abstract methods
The quintessential method of the Bifunctor trait, it applies a function to each "side" of the bifunctor.
The quintessential method of the Bifunctor trait, it applies a function to each "side" of the bifunctor.
Example:
scala> import cats.syntax.all._
scala> val x: (List[String], Int) = (List("foo", "bar"), 3)
scala> x.bimap(_.headOption, _.toLong + 1)
res0: (Option[String], Long) = (Some(foo),4)
Attributes
- Source
- Bifunctor.scala
Concrete methods
The composition of two Bifunctors is itself a Bifunctor
Attributes
- Source
- Bifunctor.scala
Lift left into F using Applicative.
Lift left into F using Applicative. * Example:
scala> import cats.implicits._
scala> val x0: Either[String, Int] = Either.left("foo")
scala> val x1: Either[List[String], Int] = x0.leftLiftTo[List]
Attributes
- Source
- Bifunctor.scala
apply a function to the "left" functor
Widens A into a supertype AA.
Widens A into a supertype AA. Example:
scala> import cats.syntax.all._
scala> sealed trait Foo
scala> case object Bar extends Foo
scala> val x1: Either[Bar.type, Int] = Either.left(Bar)
scala> val x2: Either[Foo, Int] = x1.leftWiden
Attributes
- Source
- Bifunctor.scala
Attributes
- Source
- Bifunctor.scala
In this article