scalaz.Choice.scala Maven / Gradle / Ivy
package scalaz
////
/**
*
*/
////
trait Choice[=>:[_, _]] extends Category[=>:] { self =>
////
def choice[A, B, C](f: => A =>: C, g: => B =>: C): (A \/ B) =>: C
// derived functions
def codiagonal[A]: (A \/ A) =>: A = choice(id, id)
////
val choiceSyntax = new scalaz.syntax.ChoiceSyntax[=>:] { def F = Choice.this }
}
object Choice {
@inline def apply[F[_, _]](implicit F: Choice[F]): Choice[F] = F
////
////
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy