CommutativeBothDeriveEqualInvariant

zio.prelude.coherent.CommutativeBothDeriveEqualInvariant
See theCommutativeBothDeriveEqualInvariant companion object

Attributes

Companion
object
Graph
Supertypes
trait CommutativeBoth[F]
trait Invariant[F]
trait Derive[F, Equal]
trait AssociativeBoth[F]
class Object
trait Matchable
class Any
Show all

Members list

Value members

Inherited methods

final def compose[G[_]](implicit g: Invariant[G]): Invariant[{ type lambda = [A] =>> F[G[A]]; }#<none>]

Compose two invariant functors.

Compose two invariant functors.

Attributes

Inherited from:
Invariant
def compositionLaw[A, B, C](fa: F[A], f: Equivalence[A, B], g: Equivalence[B, C])(implicit equal: Equal[F[C]]): Boolean

Attributes

Inherited from:
Invariant
def identityLaw1[A](fa: F[A])(implicit equal: Equal[F[A]]): Boolean

Attributes

Inherited from:
Invariant

Inherited and Abstract methods

def both[A, B](fa: => F[A], fb: => F[B]): F[(A, B)]

Combines two values of types F[A] and F[B] to produce an F[(A, B)].

Combines two values of types F[A] and F[B] to produce an F[(A, B)].

Attributes

Inherited from:
AssociativeBoth
def derive[A : Equal]: Equal[F[A]]

Attributes

Inherited from:
Derive
def invmap[A, B](f: Equivalence[A, B]): Equivalence[F[A], F[B]]

Attributes

Inherited from:
Invariant