abstract
class
Adjunction[F[_], G[_]] extends AnyRef
Instance Constructors
-
new
Adjunction()(implicit F: Functor[F], G: Functor[G])
Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
implicit
val
F: Functor[F]
-
implicit
val
G: Functor[G]
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
implicit
val
comonad: Comonad[[α]F[G[α]]]
-
def
compose[P[_], Q[_]](implicit A: Adjunction.-|[P, Q]): Adjunction.-|[[α]P[F[α]], [α]G[Q[α]]]
-
def
counit[A](a: F[G[A]]): A
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
def
leftAdjunct[A, B](a: ⇒ A)(f: (F[A]) ⇒ B): G[B]
-
implicit
val
monad: Monad[[α]G[F[α]]]
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
implicit
val
representable: Representable[G, F[Unit]]
-
def
rightAdjunct[A, B](a: F[A])(f: (A) ⇒ G[B]): B
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
def
unit[A](a: ⇒ A): G[F[A]]
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
-
implicit
val
zapFG: Zap[F, G]
-
implicit
val
zapGF: Zap[G, F]
Inherited from AnyRef
Inherited from Any
An adjunction formed by two functors
F
andG
such thatF
is left-adjoint toG
. The composite functor GF is a monad and the composite functor FG is a comonad.The minimal defition is either (unit, counit) or (leftAdjunct, rightAdjunct)