package arrow
- Alphabetic
- Public
- All
Type Members
-
trait
Arrow[F[_, _]] extends Category[F] with Strong[F] with Serializable
Must obey the laws defined in cats.laws.ArrowLaws.
-
trait
ArrowChoice[F[_, _]] extends Arrow[F] with Choice[F] with Serializable
Must obey the laws defined in cats.laws.ArrowChoiceLaws.
-
trait
Category[F[_, _]] extends Compose[F] with Serializable
Must obey the laws defined in cats.laws.CategoryLaws.
- trait Choice[F[_, _]] extends Category[F] with Serializable
-
trait
CommutativeArrow[F[_, _]] extends Arrow[F] with Serializable
In a Commutative Arrow F[_, _], the split operation (or
***
) is commutative, which means that there is non-interference between the effect of the paired arrows.In a Commutative Arrow F[_, _], the split operation (or
***
) is commutative, which means that there is non-interference between the effect of the paired arrows.Must obey the laws in CommutativeArrowLaws
-
trait
Compose[F[_, _]] extends Serializable
Must obey the laws defined in cats.laws.ComposeLaws.
Must obey the laws defined in cats.laws.ComposeLaws.
Here's how you can use
>>>
and<<<
Example:scala> import cats.implicits._ scala> val f : Int => Int = (_ + 1) scala> val g : Int => Int = (_ * 100) scala> (f >>> g)(3) res0: Int = 400 scala> (f <<< g)(3) res1: Int = 301
-
trait
FunctionK[F[_], G[_]] extends Serializable
FunctionK[F[_], G[_]]
is a functor transformation fromF
toG
in the same manner that functionA => B
is a morphism from values of typeA
toB
.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.val listToOption = λ[FunctionK[List, Option]](_.headOption)
-
trait
Profunctor[F[_, _]] extends Serializable
A Profunctor is a Contravariant functor on its first type parameter and a Functor on its second type parameter.
A Profunctor is a Contravariant functor on its first type parameter and a Functor on its second type parameter.
Must obey the laws defined in cats.laws.ProfunctorLaws.
-
trait
Strong[F[_, _]] extends Profunctor[F] with Serializable
Must obey the laws defined in cats.laws.StrongLaws.
Value Members
- object Arrow extends Serializable
- object ArrowChoice extends Serializable
- object Category extends Serializable
- object Choice extends Serializable
- object CommutativeArrow extends Serializable
- object Compose extends Serializable
- object FunctionK extends Serializable
- object Profunctor extends Serializable
- object Strong extends Serializable