Cofree

object Cofree extends CofreeInstances
Companion
class

Value members

Concrete methods

def apply[S[_], A](h: A, t: S[Cofree[S, A]]): Cofree[S, A]
def applyT[S[_], A](a: A, tf: Free[Function0, S[Cofree[S, A]]])(implicit T: Functor[[a] =>> Free[Function0, a]]): Cofree[S, A]
def delay[S[_], A](h: A, t: => S[Cofree[S, A]]): Cofree[S, A]
def mapUnfold[F[_], W[_], A](z: W[A])(f: NaturalTransformation[W, F])(implicit W: Comonad[W]): Cofree[F, A]
def unapply[S[_], A](c: Cofree[S, A]): Option[(A, S[Cofree[S, A]])]
def unfold[F[_], A, B](b: B)(f: B => (A, F[B]))(implicit F: Functor[F], T: Functor[[a] =>> Free[Function0, a]]): Cofree[F, A]
def unfoldC[F[_], A](a: A)(f: A => F[A])(implicit F: Functor[F]): Cofree[F, A]

Cofree corecursion.

Cofree corecursion.

Implicits

Inherited implicits

implicit
def cofreeBind[F[_] : Functor]: Bind[[_] =>> Cofree[F, _$35]]
Inherited from
CofreeInstances2
implicit
def cofreeComonad[S[_] : Functor]: Comonad[[_] =>> Cofree[S, _$45]]
Inherited from
CofreeInstances
implicit
def cofreeEqual[F[_], A](implicit A0: Equal[A], F0: => Equal[F[Cofree[F, A]]]): Equal[Cofree[F, A]]
implicit
def cofreeFoldable[F[_] : Foldable]: Foldable1[[_] =>> Cofree[F, _$27]]

low priority Foldable1 instance

low priority Foldable1 instance

Inherited from
CofreeInstances4
implicit
def cofreeFoldable1[F[_] : Foldable1]: Foldable1[[_] =>> Cofree[F, _$33]]

high priority Foldable1 instance. more efficient

high priority Foldable1 instance. more efficient

Inherited from
CofreeInstances2
implicit
def cofreeMonad[F[_] : Functor]: Monad[[_] =>> Cofree[F, _$43]]
Inherited from
CofreeInstances0
implicit
def cofreeOrder[F[_], A](implicit A0: Order[A], F0: => Order[F[Cofree[F, A]]]): Order[Cofree[F, A]]
implicit
def cofreeTraverse[F[_] : Traverse]: Traverse1[[_] =>> Cofree[F, _$29]]

low priority Traverse1 instance

low priority Traverse1 instance

Inherited from
CofreeInstances3
implicit
def cofreeTraverse1[F[_] : Traverse1]: Traverse1[[_] =>> Cofree[F, _$37]]

high priority Traverse1 instance. more efficient

high priority Traverse1 instance. more efficient

Inherited from
CofreeInstances1
implicit
def cofreeZipApplicative[F[_] : Applicative]: Applicative[[_] =>> CofreeZip[F, _$41]]
Inherited from
CofreeInstances0
implicit
def cofreeZipApply[F[_] : Apply]: Apply[[_] =>> CofreeZip[F, _$39]]
Inherited from
CofreeInstances1
implicit
def cofreeZipEqual[F[_], A](implicit A: Equal[A], F: => Equal[F[CofreeZip[F, A]]]): Equal[CofreeZip[F, A]]
implicit
def cofreeZipFunctor[F[_] : Functor]: Functor[[_] =>> CofreeZip[F, _$31]]
Inherited from
CofreeInstances3
implicit
def cofreeZipOrder[F[_], A](implicit A: Order[A], F: => Order[F[CofreeZip[F, A]]]): Order[CofreeZip[F, A]]