Trait/Object

matryoshka

FunctorT

Related Docs: object FunctorT | package matryoshka

Permalink

trait FunctorT[T[_[_]]] extends Serializable

The operations here are very similar to those in Recursive and Corecursive. The usual names (cata, ana, etc.) are prefixed with trans and behave generally the same, except 1. the A of the [un]fold is restricted to T[G], but 2. the [co]algebra shape is like F[A] => G[A] rather than F[A] => A.

In exchange, the [un]folds are available to more types (EG, folds available to Free and unfolds available to Cofree).

There are two additional operations – transCataT and transAnaT. The distinction between these and transCata/transAna is that this allows the algebra to return the context (the outer T) to be used, whereas transCata always uses the original context of the argument to f.

This is noticable when T is Cofree. In this function, the result may have any head the algebra desires, whereas in transCata, it can only have the head of the argument to f.

Docs for operations, since they seem to break scaladoc if put in the right place:

- map – very roughly like Uniplate’s descend - transCataT – akin to Uniplate’s transform - transAnaT – akin to Uniplate’s topDownTransform - transCata – akin to Fixplate’s restructure

Linear Supertypes
Serializable, Serializable, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FunctorT
  2. Serializable
  3. Serializable
  4. Any
Implicitly
  1. by toIdOps
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def getClass(): Class[_]

    Permalink
    Definition Classes
    Any
  2. abstract def map[F[_], G[_]](t: T[F])(f: (F[T[F]]) ⇒ G[T[G]])(implicit arg0: Functor[F], arg1: Functor[G]): T[G]

    Permalink

Concrete Value Members

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

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

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

    Permalink
    Definition Classes
    Any
  4. def ana[T[_[_]], F[_]](f: (FunctorT[T]) ⇒ F[FunctorT[T]])(implicit arg0: Functor[F], T: Corecursive[T]): T[F]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  5. def anaM[T[_[_]], M[_], F[_]](f: (FunctorT[T]) ⇒ M[F[FunctorT[T]]])(implicit arg0: Monad[M], arg1: Traverse[F], T: Corecursive[T]): M[T[F]]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  6. def apo[T[_[_]], F[_]](f: (FunctorT[T]) ⇒ F[\/[T[F], FunctorT[T]]])(implicit arg0: Functor[F], T: Corecursive[T]): T[F]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  7. def apoM[T[_[_]], M[_], F[_]](f: (FunctorT[T]) ⇒ M[F[\/[T[F], FunctorT[T]]]])(implicit arg0: Monad[M], arg1: Traverse[F], T: Corecursive[T]): M[T[F]]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. def attributeAna[F[_]](ψ: (FunctorT[T]) ⇒ F[FunctorT[T]])(implicit arg0: Functor[F]): Cofree[F, FunctorT[T]]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  10. def attributeAnaM[M[_], F[_]](ψ: (FunctorT[T]) ⇒ M[F[FunctorT[T]]])(implicit arg0: Monad[M], arg1: Traverse[F]): M[Cofree[F, FunctorT[T]]]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  11. def chrono[F[_], B](g: (F[Cofree[F, B]]) ⇒ B, f: (FunctorT[T]) ⇒ F[Free[F, FunctorT[T]]])(implicit arg0: Functor[F]): B

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  12. def codyna[F[_], B](φ: (F[B]) ⇒ B, ψ: (FunctorT[T]) ⇒ F[Free[F, FunctorT[T]]])(implicit arg0: Functor[F]): B

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  13. def codynaM[M[_], F[_], B](φ: (F[B]) ⇒ M[B], ψ: (FunctorT[T]) ⇒ M[F[Free[F, FunctorT[T]]]])(implicit arg0: Monad[M], arg1: Traverse[F]): M[B]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  14. def coelgot[F[_], B](φ: ((FunctorT[T], F[B])) ⇒ B, ψ: (FunctorT[T]) ⇒ F[FunctorT[T]])(implicit arg0: Functor[F]): B

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  15. def coelgotM[M[_]]: IdOps.CoelgotMPartiallyApplied[M]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  16. def dyna[F[_], B](φ: (F[Cofree[F, B]]) ⇒ B, ψ: (FunctorT[T]) ⇒ F[FunctorT[T]])(implicit arg0: Functor[F]): B

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  17. def elgot[F[_], B](φ: (F[B]) ⇒ B, ψ: (FunctorT[T]) ⇒ \/[B, F[FunctorT[T]]])(implicit arg0: Functor[F]): B

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  18. def elgotAna[T[_[_]], M[_], F[_]](k: DistributiveLaw[M, F], f: (FunctorT[T]) ⇒ M[F[FunctorT[T]]])(implicit arg0: Monad[M], arg1: Functor[F], T: Corecursive[T]): T[F]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  19. def elgotApo[T[_[_]], F[_]](f: (FunctorT[T]) ⇒ \/[T[F], F[FunctorT[T]]])(implicit arg0: Functor[F], T: Corecursive[T]): T[F]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  20. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    Any
  21. def freeAna[F[_], B](ψ: (FunctorT[T]) ⇒ \/[B, F[FunctorT[T]]])(implicit arg0: Functor[F]): Free[F, B]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  22. def futu[T[_[_]], F[_]](f: (FunctorT[T]) ⇒ F[Free[F, FunctorT[T]]])(implicit arg0: Functor[F], T: Corecursive[T]): T[F]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  23. def futuM[T[_[_]], M[_], F[_]](f: (FunctorT[T]) ⇒ M[F[Free[F, FunctorT[T]]]])(implicit arg0: Monad[M], arg1: Traverse[F], T: Corecursive[T]): M[T[F]]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  24. def gana[T[_[_]], M[_], F[_]](k: DistributiveLaw[M, F], f: (FunctorT[T]) ⇒ F[M[FunctorT[T]]])(implicit arg0: Monad[M], arg1: Functor[F], T: Corecursive[T]): T[F]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  25. def ganaM[T[_[_]], M[_], N[_], F[_]](k: DistributiveLaw[M, F], f: (FunctorT[T]) ⇒ N[F[M[FunctorT[T]]]])(implicit arg0: Monad[M], arg1: Traverse[M], arg2: Monad[N], arg3: Traverse[F], T: Corecursive[T]): N[T[F]]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  26. def ghylo[W[_], M[_], F[_], B](w: DistributiveLaw[F, W], m: DistributiveLaw[M, F], f: (F[W[B]]) ⇒ B, g: (FunctorT[T]) ⇒ F[M[FunctorT[T]]])(implicit arg0: Comonad[W], arg1: Monad[M], arg2: Functor[F]): B

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  27. def ghyloM[W[_], M[_], N[_], F[_], B](w: DistributiveLaw[F, W], m: DistributiveLaw[M, F], f: (F[W[B]]) ⇒ N[B], g: (FunctorT[T]) ⇒ N[F[M[FunctorT[T]]]])(implicit arg0: Comonad[W], arg1: Traverse[W], arg2: Monad[M], arg3: Traverse[M], arg4: Monad[N], arg5: Traverse[F]): N[B]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  28. def gpostpro[T[_[_]], M[_], F[_]](k: DistributiveLaw[M, F], e: ~>[F, F], g: (FunctorT[T]) ⇒ F[M[FunctorT[T]]])(implicit arg0: Recursive[T], arg1: Monad[M], arg2: Functor[F], T: Corecursive[T]): T[F]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  29. def hashCode(): Int

    Permalink
    Definition Classes
    Any
  30. def hylo[F[_], B](f: (F[B]) ⇒ B, g: (FunctorT[T]) ⇒ F[FunctorT[T]])(implicit arg0: Functor[F]): B

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  31. def hyloM[M[_], F[_], B](f: (F[B]) ⇒ M[B], g: (FunctorT[T]) ⇒ M[F[FunctorT[T]]])(implicit arg0: Monad[M], arg1: Traverse[F]): M[B]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  32. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  33. def postpro[T[_[_]], F[_]](e: ~>[F, F], g: (FunctorT[T]) ⇒ F[FunctorT[T]])(implicit arg0: Recursive[T], arg1: Functor[F], T: Corecursive[T]): T[F]

    Permalink
    Implicit information
    This member is added by an implicit conversion from FunctorT[T] to IdOps[FunctorT[T]] performed by method toIdOps in matryoshka.
    Definition Classes
    IdOps
  34. def toString(): String

    Permalink
    Definition Classes
    Any
  35. def topDownCata[F[_], A](t: T[F], a: A)(f: (A, T[F]) ⇒ (A, T[F]))(implicit arg0: Functor[F]): T[F]

    Permalink
  36. def transAna[F[_], G[_]](t: T[F])(f: (F[T[F]]) ⇒ G[T[F]])(implicit arg0: Functor[F], arg1: Functor[G]): T[G]

    Permalink
  37. def transAnaT[F[_]](t: T[F])(f: (T[F]) ⇒ T[F])(implicit arg0: Functor[F]): T[F]

    Permalink
  38. def transApo[F[_], G[_]](t: T[F])(f: (F[T[F]]) ⇒ G[\/[T[G], T[F]]])(implicit arg0: Functor[F], arg1: Functor[G]): T[G]

    Permalink
  39. def transCata[F[_], G[_]](t: T[F])(f: (F[T[G]]) ⇒ G[T[G]])(implicit arg0: Functor[F], arg1: Functor[G]): T[G]

    Permalink
  40. def transCataT[F[_]](t: T[F])(f: (T[F]) ⇒ T[F])(implicit arg0: Functor[F]): T[F]

    Permalink
  41. def transPara[F[_], G[_]](t: T[F])(f: (F[(T[F], T[G])]) ⇒ G[T[G]])(implicit arg0: Functor[F], arg1: Functor[G]): T[G]

    Permalink
  42. def transPostpro[F[_], G[_]](t: T[F])(e: ~>[G, G], f: (F[T[F]]) ⇒ G[T[F]])(implicit arg0: Functor[F], arg1: Functor[G]): T[G]

    Permalink
  43. def transPrepro[F[_], G[_]](t: T[F])(e: ~>[F, F], f: (F[T[G]]) ⇒ G[T[G]])(implicit arg0: Functor[F], arg1: Functor[G]): T[G]

    Permalink

Inherited from Serializable

Inherited from Serializable

Inherited from Any

Inherited by implicit conversion toIdOps from FunctorT[T] to IdOps[FunctorT[T]]

Ungrouped