Packages

p

cats

arrow

package arrow

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. trait Arrow[F[_, _]] extends Category[F] with Strong[F] with Serializable

    Must obey the laws defined in cats.laws.ArrowLaws.

  2. trait ArrowChoice[F[_, _]] extends Arrow[F] with Choice[F] with Serializable

    Must obey the laws defined in cats.laws.ArrowChoiceLaws.

  3. trait Category[F[_, _]] extends Compose[F] with Serializable

    Must obey the laws defined in cats.laws.CategoryLaws.

  4. trait Choice[F[_, _]] extends Category[F] with Serializable
  5. 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

  6. 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
  7. trait FunctionK[F[_], G[_]] extends Serializable

    FunctionK[F[_], G[_]] is a functor transformation from F to G in the same manner that function A => B is a morphism from values of type A to B.

    FunctionK[F[_], G[_]] is a functor transformation from F to G in the same manner that function A => B is a morphism from values of type A to B. 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)
  8. 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.

  9. trait Strong[F[_, _]] extends Profunctor[F] with Serializable

    Must obey the laws defined in cats.laws.StrongLaws.

Value Members

  1. object Arrow extends Serializable
  2. object ArrowChoice extends Serializable
  3. object Category extends Serializable
  4. object Choice extends Serializable
  5. object CommutativeArrow extends Serializable
  6. object Compose extends Serializable
  7. object FunctionK extends Serializable
  8. object Profunctor extends Serializable
  9. object Strong extends Serializable

Ungrouped