trait Arrow[=>:[_, _]] extends Split[=>:] with Strong[=>:] with Category[=>:]
A scalaz.Category supporting all ordinary functions, as well as combining arrows product-wise. Every Arrow forms a scalaz.Contravariant in one type parameter, and a scalaz.Applicative in the other, just as with ordinary functions.
- Self Type
- Arrow[=>:]
- Source
- Arrow.scala
- Alphabetic
- By Inheritance
- Arrow
- Category
- Strong
- Profunctor
- Split
- Compose
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait CategoryLaw extends ComposeLaw
- Definition Classes
- Category
- trait ComposeLaw extends AnyRef
- Definition Classes
- Compose
- trait ComposePlus extends Plus[[α]=>:[α, α]]
- Attributes
- protected[this]
- Definition Classes
- Compose
- trait ComposeSemigroup[A] extends Semigroup[=>:[A, A]]
- Attributes
- protected[this]
- Definition Classes
- Compose
- trait ProfunctorLaw extends AnyRef
- Definition Classes
- Profunctor
- trait SndCovariant[C] extends Functor[[β$0$]=>:[C, β$0$]]
- Attributes
- protected[this]
- Definition Classes
- Profunctor
- trait StrongLaws extends ProfunctorLaw
- Definition Classes
- Strong
Abstract Value Members
- abstract def arr[A, B](f: (A) => B): =>:[A, B]
Lift an ordinary function.
- abstract def compose[A, B, C](f: =>:[B, C], g: =>:[A, B]): =>:[A, C]
Associative
=>:
binary operator.Associative
=>:
binary operator.- Definition Classes
- Compose
- abstract def first[A, B, C](fa: =>:[A, B]): =>:[(A, C), (B, C)]
- Definition Classes
- Strong
- abstract def id[A]: =>:[A, A]
The left and right identity over
compose
.The left and right identity over
compose
.- Definition Classes
- Category
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def <<<[A, B, C](fbc: =>:[B, C], fab: =>:[A, B]): =>:[A, C]
Alias for
compose
. - final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def >>>[A, B, C](fab: =>:[A, B], fbc: =>:[B, C]): =>:[A, C]
Flipped
<<<
. - val arrowSyntax: ArrowSyntax[=>:]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def categoryLaw: CategoryLaw
- Definition Classes
- Category
- val categorySyntax: CategorySyntax[=>:]
- Definition Classes
- Category
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def combine[A, B, C](fab: =>:[A, B], fac: =>:[A, C]): =>:[A, (B, C)]
Run
fab
andfac
on the sameA
.Run
fab
andfac
on the sameA
. Sometimes&&&
. - def composeLaw: ComposeLaw
- Definition Classes
- Compose
- val composeSyntax: ComposeSyntax[=>:]
- Definition Classes
- Compose
- def contravariantInstance[C]: Contravariant[[α$2$]=>:[α$2$, C]]
- Definition Classes
- Profunctor
- def covariantInstance[C]: Applicative[[β$0$]=>:[C, β$0$]]
- Definition Classes
- Arrow → Profunctor
- def dimap[A, B, C, D](fab: =>:[A, B])(f: (C) => A)(g: (B) => D): =>:[C, D]
Functor map on
A
andB
.Functor map on
A
andB
.- Definition Classes
- Profunctor
- def empty: PlusEmpty[[α]=>:[α, α]]
monoid
, but universally quantified.monoid
, but universally quantified.- Definition Classes
- Category
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def invariantFunctor: InvariantFunctor[[α]=>:[α, α]]
- Definition Classes
- Profunctor
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def mapfst[A, B, C](fab: =>:[A, B])(f: (C) => A): =>:[C, B]
Contramap on
A
.Contramap on
A
.- Definition Classes
- Arrow → Profunctor
- def mapsnd[A, B, C](fab: =>:[A, B])(f: (B) => C): =>:[A, C]
Functor map on
B
.Functor map on
B
.- Definition Classes
- Arrow → Profunctor
- def monoid[A]: Monoid[=>:[A, A]]
The endomorphism monoid, where
zero
=id
andappend
=compose
.The endomorphism monoid, where
zero
=id
andappend
=compose
.- Definition Classes
- Category
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def plus: Plus[[α]=>:[α, α]]
semigroup
, but universally quantified.semigroup
, but universally quantified.- Definition Classes
- Compose
- def product[A, B](fab: =>:[A, B]): =>:[(A, A), (B, B)]
Run two
fab
s alongside each other. - def profunctorLaw: ProfunctorLaw
- Definition Classes
- Profunctor
- val profunctorSyntax: ProfunctorSyntax[=>:]
- Definition Classes
- Profunctor
- def second[A, B, C](f: =>:[A, B]): =>:[(C, A), (C, B)]
Pass
C
through untouched. - def semigroup[A]: Semigroup[=>:[A, A]]
The endomorphism semigroup, where
append
=compose
.The endomorphism semigroup, where
append
=compose
.- Definition Classes
- Compose
- def split[A, B, C, D](f: =>:[A, B], g: =>:[C, D]): =>:[(A, C), (B, D)]
Run
fab
andfcd
alongside each other. - final def splitA[A, B, C, D](fab: =>:[A, B], fcd: =>:[C, D]): =>:[(A, C), (B, D)]
Alias for
split
. - val splitSyntax: SplitSyntax[=>:]
- Definition Classes
- Split
- def strongLaw: StrongLaws
- Definition Classes
- Strong
- val strongSyntax: StrongSyntax[=>:]
- Definition Classes
- Strong
- def swap[X, Y]: =>:[(X, Y), (Y, X)]
Swaps a pair.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()