FreeT

object FreeT
Companion:
class
trait Sum
trait Mirror
class Object
trait Matchable
class Any
FreeT.type

Type members

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from:
Mirror

The name of the type

The name of the type

Inherited from:
Mirror

Value members

Concrete methods

def compile[S[_], T[_], M[_] : Functor](st: FunctionK[S, T]): FunctionK[[_] =>> FreeT[S, M, _$45], [_] =>> FreeT[T, M, _$46]]
def defer[S[_], M[_], A](a: M[Either[A, S[FreeT[S, M, A]]]])(implicit M: Applicative[M]): FreeT[S, M, A]
def foldMap[S[_], M[_] : Monad](fk: FunctionK[S, M]): FunctionK[[_] =>> FreeT[S, M, _$51], M]
def liftF[S[_], M[_], A](value: S[A])(implicit M: Applicative[M]): FreeT[S, M, A]

Suspends a value within a functor in a single step. Monadic unit for a higher-order monad.

Suspends a value within a functor in a single step. Monadic unit for a higher-order monad.

def liftInject[M[_], G[_]]: FreeTLiftInjectKPartiallyApplied[M, G]

This method is used to defer the application of an InjectK[F, G] instance. The actual work happens in FreeTLiftInjectKPartiallyApplied#apply.

This method is used to defer the application of an InjectK[F, G] instance. The actual work happens in FreeTLiftInjectKPartiallyApplied#apply.

This method exists to allow the M and G parameters to be bound independently of the F and A parameters below.

def liftT[S[_], M[_], A](value: M[A])(implicit M: Functor[M]): FreeT[S, M, A]
def pure[S[_], M[_], A](value: A)(implicit M: Applicative[M]): FreeT[S, M, A]

Return the given value in the free monad.

Return the given value in the free monad.

def roll[S[_], M[_], A](value: S[FreeT[S, M, A]])(implicit M: Applicative[M]): FreeT[S, M, A]
def tailRecM[S[_], M[_] : Applicative, A, B](a: A)(f: A => FreeT[S, M, Either[A, B]]): FreeT[S, M, B]

Deprecated methods

@deprecated("Use FreeT.defer.", "1.0.0-MF")
def suspend[S[_], M[_], A](a: M[Either[A, S[FreeT[S, M, A]]]])(implicit M: Applicative[M]): FreeT[S, M, A]
Deprecated

Deprecated and Inherited methods

@deprecated("does not handle errors beyond the head suspension; use catsFreeMonadErrorForFreeT2", "2.1.0")
def catsFreeMonadErrorForFreeT[S[_], M[_], E](implicit E: MonadError[M, E]): MonadError[[_] =>> FreeT[S, M, _$60], E]
Deprecated
Inherited from:
FreeTInstances

Implicits

Inherited implicits

implicit def catsDeferForFreeT[S[_], M[_] : Applicative]: Defer[[_] =>> FreeT[S, M, _$65]]
Inherited from:
FreeTInstances
implicit def catsFreeAlternativeForFreeT[S[_], M[_] : Monad]: Alternative[[_] =>> FreeT[S, M, _$81]]
Inherited from:
FreeTInstances2
implicit def catsFreeFlatMapForFreeT[S[_], M[_]](implicit M0: Applicative[M]): FlatMap[[_] =>> FreeT[S, M, _$78]]
Inherited from:
FreeTInstances1
implicit def catsFreeMonadErrorForFreeT2[S[_], M[_], E](implicit E: MonadError[M, E], S: Functor[S]): MonadError[[_] =>> FreeT[S, M, _$70], E]
Inherited from:
FreeTInstances
implicit def catsFreeMonadForFreeT[S[_], M[_]](implicit M0: Applicative[M]): Monad[[_] =>> FreeT[S, M, _$75]]
Inherited from:
FreeTInstances0
implicit def catsFreeSemigroupKForFreeT[S[_], M[_] : SemigroupK]: SemigroupK[[_] =>> FreeT[S, M, _$85]]
Inherited from:
FreeTInstances3