FreeT

object FreeT extends FreeTInstances
Companion
class
class Object
trait Matchable
class Any

Value members

Concrete methods

def gosub[S[_], M[_], B, C0](a0: FreeT[S, M, C0])(f0: C0 => FreeT[S, M, B]): FreeT[S, M, B]
def isoFree[S[_]](implicit S: Functor[S]): IsoFunctor[[_] =>> FreeT[S, Id, _$21], [_] =>> Free[S, _$22]]
def liftF[S[_], M[_], A](value: S[A])(implicit S: Functor[S], 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 liftM[S[_], M[_], A](value: M[A])(implicit M: Functor[M]): FreeT[S, M, A]
def liftMU[S[_], MA](value: MA)(implicit M: Unapply[[F[_]] =>> Functor[F], MA]): FreeT[S, M, A]

A version of liftM that infers the nested type constructor.

A version of liftM that infers the nested type constructor.

def point[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 S: Functor[S], M: Applicative[M]): FreeT[S, M, A]
def suspend[S[_], M[_], A](a: M[A \/ S[FreeT[S, M, A]]]): FreeT[S, M, A]
def tailrecM[S[_], M[_] : Applicative, A, B](f: A => FreeT[S, M, A \/ B])(a: A): FreeT[S, M, B]

Implicits

Inherited implicits

implicit
def freeTBind[S[_], M[_]](implicit S0: Functor[S], M0: Functor[M]): Bind[[_] =>> FreeT[S, M, _$69]]
Inherited from
FreeTInstances2
implicit
def freeTFoldable[S[_] : Foldable, M[_] : Foldable]: Foldable[[_] =>> FreeT[S, M, _$82]]
Inherited from
FreeTInstances2
implicit
def freeTHoist[S[_] : Functor]: Hoist[[a[_], b] =>> FreeT[S, a, b]]
Inherited from
FreeTInstances2
implicit
def freeTMonad[S[_], M[_]](implicit S0: Functor[S], M0: Applicative[M]): Monad[[_] =>> FreeT[S, M, _$88]] & BindRec[[_] =>> FreeT[S, M, _$89]]
Inherited from
FreeTInstances0
implicit
def freeTMonadError[S[_] : Functor, M[_] : BindRec, E](implicit evidence$19: Functor[S], evidence$20: BindRec[M], E: MonadError[M, E]): MonadError[[_] =>> FreeT[S, M, _$64], E]
Inherited from
FreeTInstances3
implicit
def freeTMonadPlus[S[_] : Functor, M[_] : BindRec]: MonadPlus[[_] =>> FreeT[S, M, _$95]]
Inherited from
FreeTInstances
implicit
def freeTMonadReader[S[_] : Functor, M[_], E](implicit evidence$22: Functor[S], M1: MonadReader[M, E]): MonadReader[[_] =>> FreeT[S, M, _$56], E]
Inherited from
FreeTInstances5
implicit
def freeTMonadState[S[_] : Functor, M[_], E](implicit evidence$21: Functor[S], M1: MonadState[M, E]): MonadState[[_] =>> FreeT[S, M, _$60], E]
Inherited from
FreeTInstances4
implicit
def freeTMonadTell[S[_] : Functor, M[_], E](implicit evidence$23: Functor[S], M1: MonadTell[M, E]): MonadTell[[_] =>> FreeT[S, M, _$52], E]
Inherited from
FreeTInstances6
implicit
def freeTPlus[S[_] : Functor, M[_] : Plus]: Plus[[_] =>> FreeT[S, M, _$92]]
Inherited from
FreeTInstances0
implicit
def freeTTraverse[S[_] : Traverse, M[_] : BindRec]: Traverse[[_] =>> FreeT[S, M, _$85]]
Inherited from
FreeTInstances1