Composes two instances of FunctionK
into a new FunctionK
that transforms
one single functor to a cats.data.Tuple2K of two functors.
Composes two instances of FunctionK
into a new FunctionK
that transforms
one single functor to a cats.data.Tuple2K of two functors.
scala> import cats.arrow.FunctionK scala> val list2option = λ[FunctionK[List, Option]](_.headOption) scala> val list2vector = λ[FunctionK[List, Vector]](_.toVector) scala> val optionAndVector = list2option and list2vector scala> optionAndVector(List(1,2,3)) res0: cats.data.Tuple2K[Option,Vector,Int] = Tuple2K(Some(1),Vector(1, 2, 3))
Composes two instances of FunctionK into a new FunctionK with this transformation applied first.
Composes two instances of FunctionK into a new FunctionK with this transformation applied last.
Composes two instances of FunctionK into a new FunctionK that transforms a cats.data.EitherK to a single functor.
Composes two instances of FunctionK into a new FunctionK that transforms a cats.data.EitherK to a single functor.
This transformation will be used to transform left F
values while
h
will be used to transform right H
values.
FunctionK[F[_], G[_]]
is a functor transformation fromF
toG
in the same manner that functionA => B
is a morphism from values of typeA
toB
. An easy way to create a FunctionK instance is to use the Polymorphic lambdas provided by non/kind-projector v0.9+. E.g.