trait
CommutativeArrowLaws[F[_, _]] extends ArrowLaws[F]
Abstract Value Members
-
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: Any): Boolean
-
def
arrowAssociation[A, B, C, D](f: F[A, B]): IsEq[F[((A, C), D), (B, (C, D))]]
-
def
arrowCommutative[A, B, C, D](f: F[A, B], g: F[C, D]): IsEq[F[(A, C), (B, D)]]
-
def
arrowComposition[A, B, C](f: (A) ⇒ B, g: (B) ⇒ C): IsEq[F[A, C]]
-
def
arrowExchange[A, B, C, D](f: F[A, B], g: (C) ⇒ D): IsEq[F[(A, C), (B, D)]]
-
def
arrowExtension[A, B, C](g: (A) ⇒ B): IsEq[F[(A, C), (B, C)]]
-
def
arrowFunctor[A, B, C, D](f: F[A, B], g: F[B, C]): IsEq[F[(A, D), (C, D)]]
-
def
arrowIdentity[A]: IsEq[F[A, A]]
-
def
arrowUnit[A, B, C](f: F[A, B]): IsEq[F[(A, C), B]]
-
final
def
asInstanceOf[T0]: T0
-
def
categoryLeftIdentity[A, B](f: F[A, B]): IsEq[F[A, B]]
-
def
categoryRightIdentity[A, B](f: F[A, B]): IsEq[F[A, B]]
-
def
clone(): AnyRef
-
def
composeAssociativity[A, B, C, D](fab: F[A, B], fbc: F[B, C], fcd: F[C, D]): IsEq[F[A, D]]
-
def
dinaturalityFirst[A, B, C, D](fab: F[A, B], f: (C) ⇒ D): IsEq[F[(A, C), (B, D)]]
-
def
dinaturalitySecond[A, B, C, D](fab: F[A, B], f: (C) ⇒ D): IsEq[F[(C, A), (D, B)]]
-
-
-
def
finalize(): Unit
-
def
firstFirstIsDimap[A, B, C, D](fab: F[A, B]): IsEq[F[((A, C), D), ((B, C), D)]]
-
def
firstIsSwappedSecond[A, B, C](fab: F[A, B]): IsEq[F[(A, C), (B, C)]]
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
def
lmapEqualsFirstAndThenRmap[A, B, C](fab: F[A, B]): IsEq[F[(A, C), B]]
-
def
lmapEqualsSecondAndThenRmap[A, B, C](fab: F[A, B]): IsEq[F[(C, A), B]]
-
def
mergeConsistentWithAndThen[A, B, C](f: F[A, B], g: F[A, C]): IsEq[F[A, (B, C)]]
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
def
profunctorComposition[A2, A1, A0, B0, B1, B2](fab: F[A0, B0], f2: (A2) ⇒ A1, f1: (A1) ⇒ A0, g1: (B0) ⇒ B1, g2: (B1) ⇒ B2): IsEq[F[A2, B2]]
-
def
profunctorIdentity[A, B](fab: F[A, B]): IsEq[F[A, B]]
-
def
profunctorLmapComposition[A2, A1, A0, B](fab: F[A0, B], f: (A2) ⇒ A1, g: (A1) ⇒ A0): IsEq[F[A2, B]]
-
def
profunctorLmapIdentity[A, B](fab: F[A, B]): IsEq[F[A, B]]
-
def
profunctorRmapComposition[A, B2, B1, B0](fab: F[A, B0], f: (B0) ⇒ B1, g: (B1) ⇒ B2): IsEq[F[A, B2]]
-
def
profunctorRmapIdentity[A, B](fab: F[A, B]): IsEq[F[A, B]]
-
def
secondIsSwappedFirst[A, B, C](fab: F[A, B]): IsEq[F[(C, A), (C, B)]]
-
def
secondSecondIsDimap[A, B, C, D](fab: F[A, B]): IsEq[F[(D, (C, A)), (D, (C, B))]]
-
def
splitConsistentWithAndThen[A, B, C, D](f: F[A, B], g: F[C, D]): IsEq[F[(A, C), (B, D)]]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Reference: "Causal Commutative Arrows", Journal of Functional Programming Figure 4.