Packages

package data

This packages contains fixed-point operators as well as instances of recursion schemes for various extant data types.

The reason these are relegated to their own package is because, in general, you should eschew using them directly, but rather rely on the type class constraints, and only require specific types at the boundaries.

Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. data
  2. MaybeInstances
  3. IListInstances
  4. IdInstances
  5. FreeInstances
  6. EitherInstances
  7. CofreeInstances
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait CofreeInstances extends AnyRef
  2. trait DisjunctionInstances extends AnyRef
  3. trait EitherInstances extends AnyRef
  4. final case class Fix [F[_]](unFix: F[Fix[F]]) extends Product with Serializable

    This is the simplest fixpoint type, implemented with general recursion.

  5. trait FreeInstances extends AnyRef
  6. trait IListInstances extends AnyRef
  7. trait IdInstances extends AnyRef
  8. trait ListInstances extends AnyRef
  9. trait MaybeInstances extends AnyRef
  10. final case class Mu [F[_]](unMu: ~>[[β$1$](F[β$1$]) ⇒ β$1$, scalaz.Scalaz.Id]) extends Product with Serializable

    This is for inductive (finite) recursive structures, models the concept of “data”, aka, the “least fixed point”.

  11. sealed abstract class Nu [F[_]] extends AnyRef

    This is for coinductive (potentially infinite) recursive structures, models the concept of “codata”, aka, the “greatest fixed point”.

  12. trait OptionInstances extends AnyRef

Value Members

  1. def attributePara[T, F[_], A](f: GAlgebra[[β$0$](T, β$0$), F, A])(implicit arg0: Functor[F], T: Aux[T, F]): Algebra[F, Cofree[F, A]]

    NB: Since Cofree carries the functor, the resulting algebra is a cata, not a para.

  2. implicit def cofreeCorecursive[F[_], A]: Aux[Cofree[F, A], [γ$1$]EnvT[A, F, γ$1$]]
    Definition Classes
    CofreeInstances
  3. implicit def cofreeEqual[F[_]](implicit F: Delay[Equal, F]): Delay[Equal, [β$2$]Cofree[F, β$2$]]
    Definition Classes
    CofreeInstances
  4. implicit def cofreeRecursive[F[_], A]: Aux[Cofree[F, A], [γ$0$]EnvT[A, F, γ$0$]]
    Definition Classes
    CofreeInstances
  5. implicit def cofreeShow[F[_]](implicit F: Delay[Show, F]): Delay[Show, [β$4$]Cofree[F, β$4$]]
    Definition Classes
    CofreeInstances
  6. implicit def eitherCorecursive[A, B]: Aux[slamdata.Predef.Either[A, B], [β$1$]Const[Either[A, B], β$1$]]
    Definition Classes
    EitherInstances
  7. implicit def eitherRecursive[A, B]: Aux[slamdata.Predef.Either[A, B], [β$0$]Const[Either[A, B], β$0$]]
    Definition Classes
    EitherInstances
  8. implicit def freeCorecursive[F[_], A](implicit arg0: Functor[F]): Aux[Free[F, A], [γ$1$]CoEnv[A, F, γ$1$]]
    Definition Classes
    FreeInstances
  9. implicit def freeEqual[F[_]](implicit arg0: Functor[F], F: Delay[Equal, F]): Delay[Equal, [β$3$]Free[F, β$3$]]
    Definition Classes
    FreeInstances
  10. implicit def freeRecursive[F[_], A](implicit arg0: Functor[F]): Aux[Free[F, A], [γ$0$]CoEnv[A, F, γ$0$]]
    Definition Classes
    FreeInstances
  11. implicit def freeShow[F[_]](implicit arg0: Functor[F], F: Delay[Show, F]): Delay[Show, [β$5$]Free[F, β$5$]]
    Definition Classes
    FreeInstances
  12. def idCorecursive[A]: Aux[A, [β$1$]Const[A, β$1$]]
    Definition Classes
    IdInstances
  13. def idRecursive[A]: Aux[A, [β$0$]Const[A, β$0$]]

    This is a single (low-priority) instance to provide folds/unfolds for all all non-recursive data types.

    This is a single (low-priority) instance to provide folds/unfolds for all all non-recursive data types.

    Definition Classes
    IdInstances
  14. implicit def ilistCorecursive[A]: Aux[IList[A], [β$1$]ListF[A, β$1$]]
    Definition Classes
    IListInstances
  15. implicit def ilistRecursive[A]: Aux[IList[A], [β$0$]ListF[A, β$0$]]
    Definition Classes
    IListInstances
  16. implicit def maybeCorecursive[A]: Aux[Maybe[A], [β$1$]Const[Maybe[A], β$1$]]
    Definition Classes
    MaybeInstances
  17. implicit def maybeRecursive[A]: Aux[Maybe[A], [β$0$]Const[Maybe[A], β$0$]]
    Definition Classes
    MaybeInstances
  18. object Fix extends Serializable
  19. object Mu extends Serializable
  20. object Nu
  21. object cofree extends CofreeInstances
  22. object disjunction extends DisjunctionInstances
  23. object either extends EitherInstances
  24. object free extends FreeInstances
  25. object id extends IdInstances
  26. object ilist extends IListInstances
  27. object list extends ListInstances
  28. object maybe extends MaybeInstances
  29. object option extends OptionInstances

Inherited from MaybeInstances

Inherited from IListInstances

Inherited from IdInstances

Inherited from FreeInstances

Inherited from EitherInstances

Inherited from CofreeInstances

Inherited from AnyRef

Inherited from Any

Algebra Transformations

Operations that modify algebras in various ways to make them easier to combine with others.

Ungrouped