trait Decidable[F[_]] extends Divisible[F] with InvariantAlt[F]
Coproduct analogue of Divide
https://hackage.haskell.org/package/contravariant-1.4.1/docs/Data-Functor-Contravariant-Divisible.html#t:Decidable
- Self Type
- Decidable[F]
- Source
- Decidable.scala
- Alphabetic
- By Inheritance
- Decidable
- InvariantAlt
- Divisible
- InvariantApplicative
- Divide
- Contravariant
- InvariantFunctor
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait ContravariantLaw extends InvariantFunctorLaw
- Definition Classes
- Contravariant
- trait DecidableLaw extends DivisibleLaw
- trait DivideLaw extends ContravariantLaw
- Definition Classes
- Divide
- trait DivisibleLaw extends DivideLaw
- Definition Classes
- Divisible
- trait InvariantFunctorLaw extends AnyRef
- Definition Classes
- InvariantFunctor
Abstract Value Members
- abstract def choose2[Z, A1, A2](a1: => F[A1], a2: => F[A2])(f: (Z) => \/[A1, A2]): F[Z]
- abstract def conquer[A]: F[A]
Universally quantified instance of F[_]
Universally quantified instance of F[_]
- Definition Classes
- Divisible
- abstract def divide2[A1, A2, Z](a1: => F[A1], a2: => F[A2])(f: (Z) => (A1, A2)): F[Z]
- Definition Classes
- Divide
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- final def choose[Z, A1, A2](a1: => F[A1], a2: => F[A2])(f: (Z) => \/[A1, A2]): F[Z]
- def choose1[Z, A1](a1: => F[A1])(f: (Z) => A1): F[Z]
- def choose3[Z, A1, A2, A3](a1: => F[A1], a2: => F[A2], a3: => F[A3])(f: (Z) => \/[A1, \/[A2, A3]]): F[Z]
- def choose4[Z, A1, A2, A3, A4](a1: => F[A1], a2: => F[A2], a3: => F[A3], a4: => F[A4])(f: (Z) => \/[A1, \/[A2, \/[A3, A4]]]): F[Z]
- final def choosing2[Z, A1, A2](f: (Z) => \/[A1, A2])(implicit fa1: F[A1], fa2: F[A2]): F[Z]
- final def choosing3[Z, A1, A2, A3](f: (Z) => \/[A1, \/[A2, A3]])(implicit fa1: F[A1], fa2: F[A2], fa3: F[A3]): F[Z]
- final def choosing4[Z, A1, A2, A3, A4](f: (Z) => \/[A1, \/[A2, \/[A3, A4]]])(implicit fa1: F[A1], fa2: F[A2], fa3: F[A3], fa4: F[A4]): F[Z]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def compose[G[_]](implicit G0: Contravariant[G]): Functor[[α]F[G[α]]]
The composition of Contravariant F and G,
[x]F[G[x]]
, is covariant.The composition of Contravariant F and G,
[x]F[G[x]]
, is covariant.- Definition Classes
- Contravariant
- def contramap[A, B](fa: F[A])(f: (B) => A): F[B]
Transform
A
.Transform
A
.- Definition Classes
- Divisible → Contravariant
- Note
contramap(r)(identity)
=r
- def contravariantLaw: ContravariantLaw
- Definition Classes
- Contravariant
- val contravariantSyntax: ContravariantSyntax[F]
- Definition Classes
- Contravariant
- def decidableLaw: DecidableLaw
- val decidableSyntax: DecidableSyntax[F]
- final def divide[A, B, C](fa: => F[A], fb: => F[B])(f: (C) => (A, B)): F[C]
- Definition Classes
- Divide
- final def divide1[A1, Z](a1: F[A1])(f: (Z) => A1): F[Z]
- Definition Classes
- Divide
- def divide3[A1, A2, A3, Z](a1: => F[A1], a2: => F[A2], a3: => F[A3])(f: (Z) => (A1, A2, A3)): F[Z]
- Definition Classes
- Divide
- def divide4[A1, A2, A3, A4, Z](a1: => F[A1], a2: => F[A2], a3: => F[A3], a4: => F[A4])(f: (Z) => (A1, A2, A3, A4)): F[Z]
- Definition Classes
- Divide
- def divideLaw: DivideLaw
- Definition Classes
- Divide
- val divideSyntax: DivideSyntax[F]
- Definition Classes
- Divide
- final def dividing1[A1, Z](f: (Z) => A1)(implicit a1: F[A1]): F[Z]
- Definition Classes
- Divide
- final def dividing2[A1, A2, Z](f: (Z) => (A1, A2))(implicit a1: F[A1], a2: F[A2]): F[Z]
- Definition Classes
- Divide
- final def dividing3[A1, A2, A3, Z](f: (Z) => (A1, A2, A3))(implicit a1: F[A1], a2: F[A2], a3: F[A3]): F[Z]
- Definition Classes
- Divide
- final def dividing4[A1, A2, A3, A4, Z](f: (Z) => (A1, A2, A3, A4))(implicit a1: F[A1], a2: F[A2], a3: F[A3], a4: F[A4]): F[Z]
- Definition Classes
- Divide
- def divisibleLaw: DivisibleLaw
- Definition Classes
- Divisible
- val divisibleSyntax: DivisibleSyntax[F]
- Definition Classes
- Divisible
- 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 icompose[G[_]](implicit G0: Functor[G]): Contravariant[[α]F[G[α]]]
The composition of Contravariant F and Functor G,
[x]F[G[x]]
, is contravariant.The composition of Contravariant F and Functor G,
[x]F[G[x]]
, is contravariant.- Definition Classes
- Contravariant
- val invariantAltSyntax: InvariantAltSyntax[F]
- Definition Classes
- InvariantAlt
- val invariantApplicativeSyntax: InvariantApplicativeSyntax[F]
- Definition Classes
- InvariantApplicative
- def invariantFunctorLaw: InvariantFunctorLaw
- Definition Classes
- InvariantFunctor
- val invariantFunctorSyntax: InvariantFunctorSyntax[F]
- Definition Classes
- InvariantFunctor
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def narrow[A, B](fa: F[A])(implicit ev: <~<[B, A]): F[B]
- Definition Classes
- Contravariant
- 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 product[G[_]](implicit G0: Contravariant[G]): Contravariant[[α](F[α], G[α])]
The product of Contravariant
F
andG
,[x](F[x], G[x]])
, is contravariant.The product of Contravariant
F
andG
,[x](F[x], G[x]])
, is contravariant.- Definition Classes
- Contravariant
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def tuple2[A1, A2](a1: => F[A1], a2: => F[A2]): F[(A1, A2)]
- Definition Classes
- Divide
- 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()
- final def xcoderiving1[Z, A1](f: (A1) => Z, g: (Z) => A1)(implicit a1: F[A1]): F[Z]
- Definition Classes
- InvariantAlt
- final def xcoderiving2[Z, A1, A2](f: (\/[A1, A2]) => Z, g: (Z) => \/[A1, A2])(implicit a1: F[A1], a2: F[A2]): F[Z]
- Definition Classes
- InvariantAlt
- final def xcoderiving3[Z, A1, A2, A3](f: (\/[A1, \/[A2, A3]]) => Z, g: (Z) => \/[A1, \/[A2, A3]])(implicit a1: F[A1], a2: F[A2], a3: F[A3]): F[Z]
- Definition Classes
- InvariantAlt
- final def xcoderiving4[Z, A1, A2, A3, A4](f: (\/[A1, \/[A2, \/[A3, A4]]]) => Z, g: (Z) => \/[A1, \/[A2, \/[A3, A4]]])(implicit a1: F[A1], a2: F[A2], a3: F[A3], a4: F[A4]): F[Z]
- Definition Classes
- InvariantAlt
- def xcoproduct1[Z, A1](a1: => F[A1])(f: (A1) => Z, g: (Z) => A1): F[Z]
- Definition Classes
- Decidable → InvariantAlt
- def xcoproduct2[Z, A1, A2](a1: => F[A1], a2: => F[A2])(f: (\/[A1, A2]) => Z, g: (Z) => \/[A1, A2]): F[Z]
- Definition Classes
- Decidable → InvariantAlt
- def xcoproduct3[Z, A1, A2, A3](a1: => F[A1], a2: => F[A2], a3: => F[A3])(f: (\/[A1, \/[A2, A3]]) => Z, g: (Z) => \/[A1, \/[A2, A3]]): F[Z]
- Definition Classes
- Decidable → InvariantAlt
- def xcoproduct4[Z, A1, A2, A3, A4](a1: => F[A1], a2: => F[A2], a3: => F[A3], a4: => F[A4])(f: (\/[A1, \/[A2, \/[A3, A4]]]) => Z, g: (Z) => \/[A1, \/[A2, \/[A3, A4]]]): F[Z]
- Definition Classes
- Decidable → InvariantAlt
- final def xderiving0[Z](z: => Z): F[Z]
- Definition Classes
- InvariantApplicative
- final def xderiving1[Z, A1](f: (A1) => Z, g: (Z) => A1)(implicit a1: F[A1]): F[Z]
- Definition Classes
- InvariantApplicative
- final def xderiving2[Z, A1, A2](f: (A1, A2) => Z, g: (Z) => (A1, A2))(implicit a1: F[A1], a2: F[A2]): F[Z]
- Definition Classes
- InvariantApplicative
- final def xderiving3[Z, A1, A2, A3](f: (A1, A2, A3) => Z, g: (Z) => (A1, A2, A3))(implicit a1: F[A1], a2: F[A2], a3: F[A3]): F[Z]
- Definition Classes
- InvariantApplicative
- final def xderiving4[Z, A1, A2, A3, A4](f: (A1, A2, A3, A4) => Z, g: (Z) => (A1, A2, A3, A4))(implicit a1: F[A1], a2: F[A2], a3: F[A3], a4: F[A4]): F[Z]
- Definition Classes
- InvariantApplicative
- def xmap[A, B](fa: F[A], f: (A) => B, g: (B) => A): F[B]
Converts
ma
to a value of typeF[B]
using the provided functionsf
andg
.Converts
ma
to a value of typeF[B]
using the provided functionsf
andg
.- Definition Classes
- Contravariant → InvariantFunctor
- def xmapb[A, B](ma: F[A])(b: Bijection[A, B]): F[B]
Converts
ma
to a value of typeF[B]
using the provided bijection.Converts
ma
to a value of typeF[B]
using the provided bijection.- Definition Classes
- InvariantFunctor
- def xmapi[A, B](ma: F[A])(iso: Isomorphism.<=>[A, B]): F[B]
Converts
ma
to a value of typeF[B]
using the provided isomorphism.Converts
ma
to a value of typeF[B]
using the provided isomorphism.- Definition Classes
- InvariantFunctor
- def xproduct0[Z](z: => Z): F[Z]
- Definition Classes
- Divisible → InvariantApplicative
- def xproduct1[Z, A1](a1: => F[A1])(f: (A1) => Z, g: (Z) => A1): F[Z]
- Definition Classes
- Divisible → InvariantApplicative
- def xproduct2[Z, A1, A2](a1: => F[A1], a2: => F[A2])(f: (A1, A2) => Z, g: (Z) => (A1, A2)): F[Z]
- Definition Classes
- Divisible → InvariantApplicative
- def xproduct3[Z, A1, A2, A3](a1: => F[A1], a2: => F[A2], a3: => F[A3])(f: (A1, A2, A3) => Z, g: (Z) => (A1, A2, A3)): F[Z]
- Definition Classes
- Divisible → InvariantApplicative
- def xproduct4[Z, A1, A2, A3, A4](a1: => F[A1], a2: => F[A2], a3: => F[A3], a4: => F[A4])(f: (A1, A2, A3, A4) => Z, g: (Z) => (A1, A2, A3, A4)): F[Z]
- Definition Classes
- Divisible → InvariantApplicative