object Free extends FreeInstances
- Source
- Free.scala
- Alphabetic
- By Inheritance
- Free
- FreeInstances
- SourceInstances
- SinkInstances
- TrampolineInstances
- FreeInstances0
- FreeInstances1
- FreeInstances2
- FreeInstances3
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- type Sink[A, B] = Free[[β$5$](⇒ A) ⇒ β$5$, B]
A computation that accepts values of type
A
, eventually resulting in a value of typeB
.A computation that accepts values of type
A
, eventually resulting in a value of typeB
. Note the similarity to an scalaz.iteratee.Iteratee. - type Source[A, B] = Free[[β$4$](A, β$4$), B]
A computation that produces values of type
A
, eventually resulting in a value of typeB
. - type Trampoline[A] = Free[Function0, A]
A computation that can be stepped through, suspended, and paused
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
- def apply[S[_], A](s: S[Free[S, A]]): Free[S, A]
Absorb a step in
S
into the free monad forS
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def await[A]: Sink[A, A]
A sink that waits for a single value and returns it.
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws(classOf[java.lang.CloneNotSupportedException])
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- implicit def freeFoldable[F[_]](implicit arg0: Foldable[F], arg1: Functor[F]): Foldable[[β$21$]Free[F, β$21$]]
- Definition Classes
- FreeInstances3
- implicit def freeFoldable1[F[_]](implicit arg0: Foldable1[F], arg1: Functor[F]): Foldable1[[β$22$]Free[F, β$22$]]
- Definition Classes
- FreeInstances2
- implicit def freeMonad[S[_]]: Monad[[β$26$]Free[S, β$26$]] with BindRec[[β$27$]Free[S, β$27$]]
- Definition Classes
- FreeInstances
- implicit def freeMonoid[S[_], A](implicit arg0: Monoid[A]): Monoid[Free[S, A]]
- Definition Classes
- FreeInstances
- implicit def freeSemigroup[S[_], A](implicit arg0: Semigroup[A]): Semigroup[Free[S, A]]
- Definition Classes
- FreeInstances0
- implicit def freeTraverse[F[_]](implicit arg0: Traverse[F]): Traverse[[β$23$]Free[F, β$23$]]
- Definition Classes
- FreeInstances1
- implicit def freeTraverse1[F[_]](implicit arg0: Traverse1[F]): Traverse1[[β$24$]Free[F, β$24$]]
- Definition Classes
- FreeInstances0
- implicit def freeZip[S[_]](implicit F: Functor[S], Z: Zip[S]): Zip[[β$30$]Free[S, β$30$]]
- Definition Classes
- FreeInstances
- final def getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def joinF[S[_], A](value: Free[[β$0$]Free[S, β$0$], A]): Free[S, A]
Monadic join for the higher-order monad
Free
- def liftF[S[_], A](value: S[A]): Free[S, A]
Suspends a value within a functor in a single step.
Suspends a value within a functor in a single step. Monadic unit for a higher-order monad.
- def liftFU[MA](value: ⇒ MA)(implicit MA: Unapply[Functor, MA]): Free[M, A]
A version of
liftF
that infers the nested type constructor. - 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()
- def pause: Trampoline[Unit]
A trampoline step that doesn't do anything.
- def point[S[_], A](value: A): Free[S, A]
Return the given value in the free monad.
- def produce[A](a: A): Source[A, Unit]
A source that produces the given value.
- def pure[S[_], A](value: A): Free[S, A]
Alias for
point
- def reset[A](r: Trampoline[A]): Trampoline[A]
Collapse a trampoline to a single step.
- def return_[S[_], A](value: ⇒ A)(implicit S: Applicative[S]): Free[S, A]
Suspend the given computation in a single step.
- def roll[S[_], A](value: S[Free[S, A]]): Free[S, A]
Absorb a step into the free monad.
- implicit def sinkMonad[S]: Monad[[β$15$]Free[[β$5$](⇒ S) ⇒ β$5$, β$15$]]
- Definition Classes
- SinkInstances
- implicit def sourceMonad[S]: Monad[[β$18$]Free[[β$4$](S, β$4$), β$18$]]
- Definition Classes
- SourceInstances
- def suspend[S[_], A](value: ⇒ Free[S, A])(implicit S: Applicative[S]): Free[S, A]
Suspend a computation in a pure step of the applicative functor
S
- final def synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- implicit def trampolineComonad: Comonad[Trampoline]
- Definition Classes
- FreeInstances2
- val trampolineInstance: Monad[Trampoline] with Comonad[Trampoline] with BindRec[Trampoline]
- Definition Classes
- TrampolineInstances
- 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
- @native() @throws(classOf[java.lang.InterruptedException])