object FreeT
- Companion:
- class
Type members
Value members
Concrete methods
def defer[S[_], M[_], A](a: M[Either[A, S[FreeT[S, M, 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.
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 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 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