Trait/Object

cats.arrow

Arrow

Related Docs: object Arrow | package arrow

Permalink

trait Arrow[F[_, _]] extends Split[F] with Strong[F] with Category[F]

Self Type
Arrow[F]
Linear Supertypes
Category[F], Strong[F], Profunctor[F], Split[F], Compose[F], Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Arrow
  2. Category
  3. Strong
  4. Profunctor
  5. Split
  6. Compose
  7. Serializable
  8. Serializable
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def compose[A, B, C](f: F[B, C], g: F[A, B]): F[A, C]

    Permalink
    Definition Classes
    Compose
  2. abstract def first[A, B, C](fa: F[A, B]): F[(A, C), (B, C)]

    Permalink

    Create a new arrow that takes two inputs, but only modifies the first input

    Create a new arrow that takes two inputs, but only modifies the first input

    Example:

    scala> import cats.std.function._
    scala> import cats.arrow.Arrow
    scala> val f: Int => Int = _ * 2
    scala> val fab = Arrow[Function1].first[Int,Int,Int](f)
    scala> fab((2,3))
    res0: (Int, Int) = (4,3)
    Definition Classes
    ArrowStrong
  3. abstract def id[A]: F[A, A]

    Permalink
    Definition Classes
    Category
  4. abstract def lift[A, B](f: (A) ⇒ B): F[A, B]

    Permalink

    Lift a function into the context of an Arrow

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def algebra[A]: Monoid[F[A, A]]

    Permalink
    Definition Classes
    CategoryCompose
  5. def algebraK: MonoidK[[α]F[α, α]]

    Permalink
    Definition Classes
    CategoryCompose
  6. def andThen[A, B, C](f: F[A, B], g: F[B, C]): F[A, C]

    Permalink
    Definition Classes
    Compose
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def dimap[A, B, C, D](fab: F[A, B])(f: (C) ⇒ A)(g: (B) ⇒ D): F[C, D]

    Permalink

    Create a new arrow from an existing arrow that applies f to the input of the original arrow and then applies g to the output.

    Create a new arrow from an existing arrow that applies f to the input of the original arrow and then applies g to the output.

    Example:

    scala> import cats.std.function._
    scala> import cats.arrow.Arrow
    scala> val fab: Double => Double = x => x + 0.3
    scala> val f: Int => Double = x => x.toDouble / 2
    scala> val g: Double => Double = x => x * 3
    scala> val dimapArrow = Arrow[Function1].dimap(fab)(f)(g)
    scala> dimapArrow(3)
    res0: Double = 5.4
    Definition Classes
    ArrowProfunctor
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  14. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  15. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  16. def lmap[A, B, C](fab: F[A, B])(f: (C) ⇒ A): F[C, B]

    Permalink

    contramap on the first type parameter

    contramap on the first type parameter

    Definition Classes
    Profunctor
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. def rmap[A, B, C](fab: F[A, B])(f: (B) ⇒ C): F[A, C]

    Permalink

    map on the second type parameter

    map on the second type parameter

    Definition Classes
    Profunctor
  21. def second[A, B, C](fa: F[A, B]): F[(C, A), (C, B)]

    Permalink

    Create a new arrow that takes two inputs, but only modifies the second input

    Create a new arrow that takes two inputs, but only modifies the second input

    Example:

    scala> import cats.std.function._
    scala> import cats.arrow.Arrow
    scala> val f: Int => Int = _ * 2
    scala> val fab = Arrow[Function1].second[Int,Int,Int](f)
    scala> fab((2,3))
    res0: (Int, Int) = (2,6)
    Definition Classes
    ArrowStrong
  22. def split[A, B, C, D](f: F[A, B], g: F[C, D]): F[(A, C), (B, D)]

    Permalink

    Create a new arrow that splits its input between the f and g arrows and combines the output of each.

    Create a new arrow that splits its input between the f and g arrows and combines the output of each.

    Example:

    scala> import cats.std.function._
    scala> import cats.arrow.Arrow
    scala> val toLong: Int => Long = _.toLong
    scala> val toDouble: Float => Double = _.toDouble
    scala> val f: ((Int, Float)) => (Long, Double) = Arrow[Function1].split(toLong, toDouble)
    scala> f((3, 4.0f))
    res0: (Long, Double) = (3,4.0)
    Definition Classes
    ArrowSplit
  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Category[F]

Inherited from Strong[F]

Inherited from Profunctor[F]

Inherited from Split[F]

Inherited from Compose[F]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped