trait Density[F[_], Y] extends AnyRef
Density Comonad.
Density is Left Kan Extension where both Functors are the same.
Without any restrictions on F we can define Functor, Cobind, Comonad for Density[F]. Density is Comonad for free.
- Self Type
- Density[F, Y]
- Source
- Density.scala
- See also
https://hackage.haskell.org/package/kan-extensions/docs/Control-Comonad-Density.html
http://comonad.com/reader/2011/a-product-of-an-imperfect-union/
- Alphabetic
- By Inheritance
- Density
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait DensityLaw extends AnyRef
- abstract type X
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
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def densityLaw: DensityLaw
- def densityToAdjunction[X[_]](implicit F: Functor[F], A: Adjunction[F, X]): F[X[Y]]
- def densityToCoyoneda: Coyoneda[F, X]
- def densityToLan: Lan[F, F, Y]
Density is left Kan extension of a Functor F along itself (Lan f f).
Density is left Kan extension of a Functor F along itself (Lan f f).
lanToDensity(d.densityToLan) == d lanToDensity(l).densityToLan == l
- 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()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def lowerDensity(implicit C: Cobind[F]): F[Y]
The natural isomorphism between a Comonad F and the Density F.
The natural isomorphism between a Comonad F and the Density F.
d.lowerDensity andThen liftDensity = d
- def map[A](fab: (Y) => A): Density[F, A]
- 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 runDensity: Y
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()