WriteableHeaderInstances
Attributes
- Source
- WriteableHeader.scala
- Graph
-
- Supertypes
-
trait Contravariant[WriteableHeader]trait Invariant[WriteableHeader]trait Serializableclass Objecttrait Matchableclass AnyShow all
- Self type
Members list
Value members
Concrete methods
Attributes
- Definition Classes
- Source
- WriteableHeader.scala
Inherited methods
Attributes
- Inherited from:
- Contravariant
- Source
- Contravariant.scala
Compose Invariant F[_]
and G[_]
then produce Invariant[F[G[_]]]
using their imap
.
Compose Invariant F[_]
and G[_]
then produce Invariant[F[G[_]]]
using their imap
.
Example:
scala> import cats.syntax.all._
scala> import scala.concurrent.duration._
scala> val durSemigroupList: Semigroup[List[FiniteDuration]] =
| Invariant[Semigroup].compose[List].imap(Semigroup[List[Long]])(Duration.fromNanos)(_.toNanos)
scala> durSemigroupList.combine(List(2.seconds, 3.seconds), List(4.seconds))
res1: List[FiniteDuration] = List(2 seconds, 3 seconds, 4 seconds)
Attributes
- Inherited from:
- Invariant
- Source
- Invariant.scala
Compose Invariant F[_]
and Contravariant G[_]
then produce Invariant[F[G[_]]]
using F's imap
and G's contramap
.
Compose Invariant F[_]
and Contravariant G[_]
then produce Invariant[F[G[_]]]
using F's imap
and G's contramap
.
Example:
scala> import cats.syntax.all._
scala> import scala.concurrent.duration._
scala> type ToInt[T] = T => Int
scala> val durSemigroupToInt: Semigroup[ToInt[FiniteDuration]] =
| Invariant[Semigroup]
| .composeContravariant[ToInt]
| .imap(Semigroup[ToInt[Long]])(Duration.fromNanos)(_.toNanos)
// semantically equal to (2.seconds.toSeconds.toInt + 1) + (2.seconds.toSeconds.toInt * 2) = 7
scala> durSemigroupToInt.combine(_.toSeconds.toInt + 1, _.toSeconds.toInt * 2)(2.seconds)
res1: Int = 7
Attributes
- Inherited from:
- Invariant
- Source
- Invariant.scala
Compose Invariant F[_]
and Functor G[_]
then produce Invariant[F[G[_]]]
using F's imap
and G's map
.
Compose Invariant F[_]
and Functor G[_]
then produce Invariant[F[G[_]]]
using F's imap
and G's map
.
Example:
scala> import cats.syntax.all._
scala> import scala.concurrent.duration._
scala> val durSemigroupList: Semigroup[List[FiniteDuration]] =
| Invariant[Semigroup]
| .composeFunctor[List]
| .imap(Semigroup[List[Long]])(Duration.fromNanos)(_.toNanos)
scala> durSemigroupList.combine(List(2.seconds, 3.seconds), List(4.seconds))
res1: List[FiniteDuration] = List(2 seconds, 3 seconds, 4 seconds)
Attributes
- Definition Classes
- Inherited from:
- Contravariant
- Source
- Contravariant.scala
Transform an F[A]
into an F[B]
by providing a transformation from A
to B
and one from B
to A
.
Transform an F[A]
into an F[B]
by providing a transformation from A
to B
and one from B
to A
.
Example:
scala> import cats.syntax.all._
scala> import scala.concurrent.duration._
scala> val durSemigroup: Semigroup[FiniteDuration] =
| Invariant[Semigroup].imap(Semigroup[Long])(Duration.fromNanos)(_.toNanos)
scala> durSemigroup.combine(2.seconds, 3.seconds)
res1: FiniteDuration = 5 seconds
Attributes
- Definition Classes
- Inherited from:
- Contravariant
- Source
- Contravariant.scala
Attributes
- Inherited from:
- Contravariant
- Source
- Contravariant.scala
Lifts natural subtyping contravariance of contravariant Functors. could be implemented as contramap(identity), but the Functor laws say this is equivalent
Lifts natural subtyping contravariance of contravariant Functors. could be implemented as contramap(identity), but the Functor laws say this is equivalent
Attributes
- Inherited from:
- Contravariant
- Source
- Contravariant.scala