Trait/Object

matryoshka

Corecursive

Related Docs: object Corecursive | package matryoshka

Permalink

trait Corecursive[T] extends Based[T]

Unfolds for corecursive data types.

Linear Supertypes
Based[T], Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Corecursive
  2. Based
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type Base[A]

    Permalink
    Definition Classes
    Based

Abstract Value Members

  1. abstract def embed(t: Base[T])(implicit BF: Functor[Base]): T

    Permalink

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def ana[A](a: A)(f: Coalgebra[Base, A])(implicit BF: Functor[Base]): T

    Permalink
  5. def anaM[M[_], A](a: A)(f: CoalgebraM[M, Base, A])(implicit arg0: Monad[M], BT: Traverse[Base]): M[T]

    Permalink
  6. def apo[A](a: A)(f: GCoalgebra[[β$0$]\/[T, β$0$], Base, A])(implicit BF: Functor[Base]): T

    Permalink

    An unfold that can short-circuit certain sections.

  7. def apoM[M[_], A](a: A)(f: GCoalgebraM[[β$3$]\/[T, β$3$], M, Base, A])(implicit arg0: Monad[M], BT: Traverse[Base]): M[T]

    Permalink
  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def colambek(ft: Base[T])(implicit TR: Aux[T, Base], BF: Functor[Base]): T

    Permalink

    Roughly a default impl of embed, given a matryoshka.Recursive instance and an overridden ana.

  11. def elgotAna[N[_], A](a: A)(k: DistributiveLaw[N, Base], ψ: ElgotCoalgebra[N, Base, A])(implicit arg0: Monad[N], BF: Functor[Base]): T

    Permalink
  12. def elgotApo[A](a: A)(f: ElgotCoalgebra[[β$1$]\/[T, β$1$], Base, A])(implicit BF: Functor[Base]): T

    Permalink
  13. def elgotFutu[A](a: A)(f: ElgotCoalgebra[[β$6$]Free[Base, β$6$], Base, A])(implicit BF: Functor[Base]): T

    Permalink
  14. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  16. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  17. def futu[A](a: A)(f: GCoalgebra[[β$4$]Free[Base, β$4$], Base, A])(implicit BF: Functor[Base]): T

    Permalink
  18. def futuM[M[_], A](a: A)(f: GCoalgebraM[[β$8$]Free[Base, β$8$], M, Base, A])(implicit arg0: Monad[M], BT: Traverse[Base]): M[T]

    Permalink
  19. def gana[N[_], A](a: A)(k: DistributiveLaw[N, Base], f: GCoalgebra[N, Base, A])(implicit arg0: Monad[N], BF: Functor[Base]): T

    Permalink
  20. def ganaM[N[_], M[_], A](a: A)(k: DistributiveLaw[N, Base], f: GCoalgebraM[N, M, Base, A])(implicit arg0: Monad[N], arg1: Traverse[N], arg2: Monad[M], BT: Traverse[Base]): M[T]

    Permalink
  21. def gapo[A, B](a: A)(ψ0: Coalgebra[Base, B], ψ: GCoalgebra[[β$2$]\/[B, β$2$], Base, A])(implicit BF: Functor[Base]): T

    Permalink

    An unfold that can handle sections with a secondary unfold.

  22. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  23. def gpostpro[N[_], A](a: A)(k: DistributiveLaw[N, Base], e: ~>[Base, Base], ψ: GCoalgebra[N, Base, A])(implicit T: Aux[T, Base], BF: Functor[Base], N: Monad[N]): T

    Permalink
  24. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  25. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  26. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  27. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  28. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  29. def postpro[A](a: A)(e: ~>[Base, Base], g: Coalgebra[Base, A])(implicit T: Aux[T, Base], BF: Functor[Base]): T

    Permalink
  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  31. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  32. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Based[T]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped