Trait/Object

matryoshka

Recursive

Related Docs: object Recursive | package matryoshka

Permalink

trait Recursive[T] extends Based[T]

Folds for recursive data types.

Self Type
Recursive[T]
Linear Supertypes
Based[T], Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Recursive
  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
  2. type BaseT[A] = Base[A]

    Permalink

Abstract Value Members

  1. abstract def project(t: T)(implicit BF: Functor[Base]): BaseT[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 all(t: T)(p: (T) ⇒ slamdata.Predef.Boolean)(implicit BF: Functor[Base], B: Foldable[Base]): slamdata.Predef.Boolean

    Permalink
  5. def any(t: T)(p: (T) ⇒ slamdata.Predef.Boolean)(implicit BF: Functor[Base], B: Foldable[Base]): slamdata.Predef.Boolean

    Permalink
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def attributeTopDown[U, A](t: T, z: A)(f: (A, Base[T]) ⇒ A)(implicit U: Aux[U, [γ$33$]EnvT[A, Base, γ$33$]], BF: Functor[Base]): U

    Permalink

    Attribute a tree via an algebra starting from the root.

  8. def attributeTopDownM[M[_], U, A](t: T, z: A)(f: (A, Base[T]) ⇒ M[A])(implicit arg0: Monad[M], U: Aux[U, [γ$34$]EnvT[A, Base, γ$34$]], BT: Traverse[Base]): M[U]

    Permalink

    Kleisli variant of attributeTopDown

  9. def cata[A](t: T)(f: Algebra[Base, A])(implicit BF: Functor[Base]): A

    Permalink
  10. def cataM[M[_], A](t: T)(f: AlgebraM[M, Base, A])(implicit arg0: Monad[M], BT: Traverse[Base]): M[A]

    Permalink

    A Kleisli catamorphism.

  11. def children[U](t: T)(implicit U: Aux[U, [β$32$]ListF[T, β$32$]], BF: Functor[Base], B: Foldable[Base]): U

    Permalink
  12. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. def collect[U, B](t: T)(pf: slamdata.Predef.PartialFunction[T, B])(implicit arg0: Monoid[U], U: Aux[U, [β$35$]ListF[B, β$35$]], BF: Functor[Base], B: Foldable[Base]): U

    Permalink
  14. def contains(t: T, c: T)(implicit T: Equal[T], BF: Functor[Base], B: Foldable[Base]): slamdata.Predef.Boolean

    Permalink
  15. def convertTo[R](t: T)(implicit R: Aux[R, Base], BF: Functor[Base]): R

    Permalink
  16. def elgotCata[W[_], A](t: T)(k: DistributiveLaw[Base, W], g: ElgotAlgebra[W, Base, A])(implicit arg0: Comonad[W], BF: Functor[Base]): A

    Permalink

    A catamorphism generalized with a comonad outside the functor.

  17. def elgotCataM[W[_], M[_], A](t: T)(k: DistributiveLaw[Base, [A]M[W[A]]], g: ElgotAlgebraM[W, M, Base, A])(implicit arg0: Comonad[W], arg1: Traverse[W], arg2: Monad[M], BT: Traverse[Base]): M[A]

    Permalink
  18. def elgotHisto[A](t: T)(f: ElgotAlgebra[[β$22$]Cofree[Base, β$22$], Base, A])(implicit BF: Functor[Base]): A

    Permalink
  19. def elgotPara[A](t: T)(f: ElgotAlgebra[[β$2$](T, β$2$), Base, A])(implicit BF: Functor[Base]): A

    Permalink
  20. def elgotZygo[A, B](t: T)(f: Algebra[Base, B], g: ElgotAlgebra[[β$10$](B, β$10$), Base, A])(implicit BF: Functor[Base]): A

    Permalink
  21. def elgotZygoM[A, B, M[_]](t: T)(f: AlgebraM[M, Base, B], g: ElgotAlgebraM[[β$12$](B, β$12$), M, Base, A])(implicit arg0: Monad[M], BT: Traverse[Base]): M[A]

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

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  25. def foldMap[Z](t: T)(f: (T) ⇒ Z)(implicit arg0: Monoid[Z], BF: Functor[Base], B: Foldable[Base]): Z

    Permalink
  26. def foldMapM[M[_], Z](t: T)(f: (T) ⇒ M[Z])(implicit arg0: Monad[M], arg1: Monoid[Z], BF: Functor[Base], B: Foldable[Base]): M[Z]

    Permalink
  27. def gElgotZygo[W[_], A, B](t: T)(f: Algebra[Base, B], w: DistributiveLaw[Base, W], g: ElgotAlgebra[[γ$16$]EnvT[B, W, γ$16$], Base, A])(implicit arg0: Comonad[W], BF: Functor[Base]): A

    Permalink
  28. def gcata[W[_], A](t: T)(k: DistributiveLaw[Base, W], g: GAlgebra[W, Base, A])(implicit arg0: Comonad[W], BF: Functor[Base]): A

    Permalink

    A catamorphism generalized with a comonad inside the functor.

  29. def gcataM[W[_], M[_], A](t: T)(w: DistributiveLaw[Base, W], g: GAlgebraM[W, M, Base, A])(implicit arg0: Comonad[W], arg1: Traverse[W], arg2: Monad[M], BT: Traverse[Base]): M[A]

    Permalink
  30. def gcataZygo[W[_], A, B](t: T)(k: DistributiveLaw[Base, W], f: GAlgebra[W, Base, B], g: GAlgebra[[β$26$](B, β$26$), Base, A])(implicit arg0: Comonad[W], BF: Functor[Base], BU: Unzip[Base]): A

    Permalink
  31. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  32. def ghisto[H[_], A](t: T)(g: DistributiveLaw[Base, H], f: GAlgebra[[β$24$]Cofree[H, β$24$], Base, A])(implicit arg0: Functor[H], BF: Functor[Base]): A

    Permalink
  33. def gzygo[W[_], A, B](t: T)(f: Algebra[Base, B], w: DistributiveLaw[Base, W], g: GAlgebra[[γ$14$]EnvT[B, W, γ$14$], Base, A])(implicit arg0: Comonad[W], BF: Functor[Base]): A

    Permalink
  34. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  35. def histo[A](t: T)(f: GAlgebra[[β$20$]Cofree[Base, β$20$], Base, A])(implicit BF: Functor[Base]): A

    Permalink
  36. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  37. def isLeaf(t: T)(implicit BF: Functor[Base], B: Foldable[Base]): slamdata.Predef.Boolean

    Permalink
  38. def mutu[A, B](t: T)(f: GAlgebra[[β$18$](A, β$18$), Base, B], g: GAlgebra[[β$19$](B, β$19$), Base, A])(implicit BF: Functor[Base]): A

    Permalink

    Mutually-recursive fold.

    Mutually-recursive fold.

    Annotations
    @SuppressWarnings()
  39. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  42. def para[A](t: T)(f: GAlgebra[[β$0$](T, β$0$), Base, A])(implicit BF: Functor[Base]): A

    Permalink
  43. def paraM[M[_], A](t: T)(f: GAlgebraM[[β$3$](T, β$3$), M, Base, A])(implicit arg0: Monad[M], BT: Traverse[Base]): M[A]

    Permalink
  44. def paraMerga[A](t: T, that: T)(f: (T, T, slamdata.Predef.Option[Base[A]]) ⇒ A)(implicit BF: Functor[Base], BM: Merge[Base]): A

    Permalink

    Combines two functors that may fail to merge, also providing access to the inputs at each level.

    Combines two functors that may fail to merge, also providing access to the inputs at each level. This is akin to an Elgot, not generalized, fold.

  45. def paraZygo[A, B](t: T)(f: GAlgebra[[β$28$](T, β$28$), Base, B], g: GAlgebra[[β$29$](B, β$29$), Base, A])(implicit BF: Functor[Base], BU: Unzip[Base]): A

    Permalink
  46. implicit val rec: Aux[T, Base]

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  49. def transCata[U, G[_]](t: T)(f: (Base[U]) ⇒ G[U])(implicit arg0: Functor[G], U: Aux[U, G], BF: Functor[Base]): U

    Permalink
  50. def transCataM[M[_], U, G[_]](t: T)(f: TransformM[M, U, Base, G])(implicit arg0: Monad[M], arg1: Functor[G], U: Aux[U, G], BT: Traverse[Base]): M[U]

    Permalink
  51. def transGcata[W[_], U, G[_]](t: T)(k: DistributiveLaw[Base, W], f: AlgebraicGTransform[W, U, Base, G])(implicit arg0: Comonad[W], arg1: Functor[G], U: Aux[U, G], BF: Functor[Base]): U

    Permalink
  52. def transPara[U, G[_]](t: T)(f: AlgebraicGTransform[[β$36$](T, β$36$), U, Base, G])(implicit arg0: Functor[G], U: Aux[U, G], BF: Functor[Base]): U

    Permalink
  53. def transPostpro[U, G[_]](t: T)(e: ~>[G, G], f: Transform[T, Base, G])(implicit arg0: Functor[G], U: Aux[U, G], BF: Functor[Base]): U

    Permalink
  54. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  57. def zygo[A, B](t: T)(f: Algebra[Base, B], g: GAlgebra[[β$4$](B, β$4$), Base, A])(implicit BF: Functor[Base]): A

    Permalink
  58. def zygoM[A, B, M[_]](t: T)(f: AlgebraM[M, Base, B], g: GAlgebraM[[β$6$](B, β$6$), M, Base, A])(implicit arg0: Monad[M], BT: Traverse[Base]): M[A]

    Permalink

Inherited from Based[T]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped