type Trampoline[A] = Free[Function0, A]
- Alphabetic
- By Inheritance
- Trampoline
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def >>=[B](f: (A) => Free[S, B]): Free[S, B]
Alias for
flatMap
Alias for
flatMap
- Definition Classes
- Free
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- final def bounce(f: (S[Free[S, A]]) => Free[S, A])(implicit S: Functor[S]): Free[S, A]
Runs a single step, using a function that extracts the resumption from its suspension functor.
Runs a single step, using a function that extracts the resumption from its suspension functor.
- Definition Classes
- Free
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def collect[B](implicit ev: ===[Free[S, A], Source[B, A]]): (Vector[B], A)
Runs a
Source
all the way to the end, tail-recursively, collecting the produced values.Runs a
Source
all the way to the end, tail-recursively, collecting the produced values.- Definition Classes
- Free
- def drain[E, B](source: Source[E, B])(implicit ev: ===[Free[S, A], Sink[E, A]]): (A, B)
Feed the given source to this
Sink
.Feed the given source to this
Sink
.- Definition Classes
- Free
- def drive[E, B](sink: Sink[Option[E], B])(implicit ev: ===[Free[S, A], Source[E, A]]): (A, B)
Drive this
Source
with the given Sink.Drive this
Source
with the given Sink.- Definition Classes
- Free
- def duplicateF: Free[[β$13$]Free[S, β$13$], A]
Duplication in
Free
as a comonad in the endofunctor category.Duplication in
Free
as a comonad in the endofunctor category.- Definition Classes
- Free
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def extendF[T[_]](f: ~>[[β$16$]Free[S, β$16$], T]): Free[T, A]
Extension in
Free
as a comonad in the endofunctor category.Extension in
Free
as a comonad in the endofunctor category.- Definition Classes
- Free
- def extractF(implicit S: Monad[S]): S[A]
Extraction from
Free
as a comonad in the endofunctor category.Extraction from
Free
as a comonad in the endofunctor category.- Definition Classes
- Free
- def feed[E](ss: LazyList[E])(implicit ev: ===[Free[S, A], Sink[E, A]]): A
Feed the given LazyList to this
Source
.Feed the given LazyList to this
Source
.- Definition Classes
- Free
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def flatMap[B](f: (A) => Free[S, B]): Free[S, B]
Binds the given continuation to the result of this computation.
Binds the given continuation to the result of this computation.
- Definition Classes
- Free
- final def flatMapSuspension[T[_]](f: ~>[S, [β$7$]Free[T, β$7$]]): Free[T, A]
Substitutes a free monad over the given functor into the suspension functor of this program.
Substitutes a free monad over the given functor into the suspension functor of this program.
Free
is a monad in an endofunctor category and this is its monadic bind.- Definition Classes
- Free
- final def fold[B](r: (A) => B, s: (S[Free[S, A]]) => B)(implicit S: Functor[S]): B
Catamorphism.
Catamorphism. Run the first given function if Return, otherwise, the second given function.
- Definition Classes
- Free
- final def foldMap[M[_]](f: ~>[S, M])(implicit M: Monad[M]): M[A]
Catamorphism for
Free
.Catamorphism for
Free
. Runs to completion, mapping the suspension with the given transformation at each step and accumulating into the monadM
.- Definition Classes
- Free
- final def foldMapRec[M[_]](f: ~>[S, M])(implicit M: Applicative[M], B: BindRec[M]): M[A]
- Definition Classes
- Free
- final def foldRight[G[_]](z: ~>[Id.Id, G])(f: ~>[[α]S[G[α]], G])(implicit S: Functor[S]): G[A]
Folds this free recursion to the right using the given natural transformations.
Folds this free recursion to the right using the given natural transformations.
- Definition Classes
- Free
- final def foldRun[B](b: B)(f: ~>[[α](B, S[α]), [β$9$](B, β$9$)]): (B, A)
Runs to completion, allowing the resumption function to thread an arbitrary state of type
B
.Runs to completion, allowing the resumption function to thread an arbitrary state of type
B
.- Definition Classes
- Free
- Annotations
- @tailrec()
- final def foldRunM[M[_], B](b: B)(f: ~>[[α](B, S[α]), [α]M[(B, α)]])(implicit M0: Applicative[M], M1: BindRec[M]): M[(B, A)]
Variant of
foldRun
that allows to interleave effectM
at each step.Variant of
foldRun
that allows to interleave effectM
at each step.- Definition Classes
- Free
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def go(f: (S[Free[S, A]]) => Free[S, A])(implicit S: Functor[S]): A
Runs to completion, using a function that extracts the resumption from its suspension functor.
Runs to completion, using a function that extracts the resumption from its suspension functor.
- Definition Classes
- Free
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def map[B](f: (A) => B): Free[S, B]
- Definition Classes
- Free
- final def mapFirstSuspension(f: ~>[S, S]): Free[S, A]
Modifies the first suspension with the given natural transformation.
Modifies the first suspension with the given natural transformation.
- Definition Classes
- Free
- final def mapSuspension[T[_]](f: ~>[S, T]): Free[T, A]
Changes the suspension functor by the given natural transformation.
Changes the suspension functor by the given natural transformation.
- Definition Classes
- Free
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def resume(implicit S: Functor[S]): \/[S[Free[S, A]], A]
Evaluates a single layer of the free monad *
Evaluates a single layer of the free monad *
- Definition Classes
- Free
- final def resumeC: \/[Coyoneda[S, Free[S, A]], A]
Evaluates a single layer of the free monad *
Evaluates a single layer of the free monad *
- Definition Classes
- Free
- Annotations
- @tailrec()
- final def run(implicit ev: ===[Free[S, A], Trampoline[A]]): A
Runs a trampoline all the way to the end, tail-recursively.
Runs a trampoline all the way to the end, tail-recursively.
- Definition Classes
- Free
- final def runM[M[_]](f: (S[Free[S, A]]) => M[Free[S, A]])(implicit S: Functor[S], M: Monad[M]): M[A]
Runs to completion, using a function that maps the resumption from
S
to a monadM
.Runs to completion, using a function that maps the resumption from
S
to a monadM
.- Definition Classes
- Free
- Since
7.0.1
- final def runRecM[M[_]](f: (S[Free[S, A]]) => M[Free[S, A]])(implicit S: Functor[S], M: Applicative[M], B: BindRec[M]): M[A]
Run Free using constant stack.
Run Free using constant stack.
- Definition Classes
- Free
- final def step: Free[S, A]
Evaluate one layer in the free monad, re-associating any left-nested binds to the right and pulling the first suspension to the top.
Evaluate one layer in the free monad, re-associating any left-nested binds to the right and pulling the first suspension to the top.
- Definition Classes
- Free
- Annotations
- @tailrec()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toFreeT: FreeT[S, Id.Id, A]
- Definition Classes
- Free
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def zap[G[_], B](fs: Cofree[G, (A) => B])(implicit d: Zap[S, G]): B
Applies a function in a comonad to the corresponding value in this monad, annihilating both.
Applies a function in a comonad to the corresponding value in this monad, annihilating both.
- Definition Classes
- Free
- final def zapWith[G[_], B, C](bs: Cofree[G, B])(f: (A, B) => C)(implicit d: Zap[S, G]): C
Applies a function
f
to a value in this monad and a corresponding value in the dual comonad, annihilating both.Applies a function
f
to a value in this monad and a corresponding value in the dual comonad, annihilating both.- Definition Classes
- Free
- final def zipWith[B, C](tb: Free[S, B])(f: (A, B) => C): Free[S, C]
Interleave this computation with another, combining the results with the given function.
Interleave this computation with another, combining the results with the given function.
- Definition Classes
- Free