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[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
implicit
def
freeFoldable[F[_]](implicit arg0: Foldable[F], arg1: Functor[F]): Foldable[[β$19$]Free[F, β$19$]]
- Definition Classes
- FreeInstances3
-
implicit
def
freeFoldable1[F[_]](implicit arg0: Foldable1[F], arg1: Functor[F]): Foldable1[[β$20$]Free[F, β$20$]]
- Definition Classes
- FreeInstances2
-
implicit
def
freeMonad[S[_]]: Monad[[β$24$]Free[S, β$24$]] with BindRec[[β$25$]Free[S, β$25$]]
- 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[[β$21$]Free[F, β$21$]]
- Definition Classes
- FreeInstances1
-
implicit
def
freeTraverse1[F[_]](implicit arg0: Traverse1[F]): Traverse1[[β$22$]Free[F, β$22$]]
- Definition Classes
- FreeInstances0
-
implicit
def
freeZip[S[_]](implicit F: Functor[S], Z: Zip[S]): Zip[[β$28$]Free[S, β$28$]]
- 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[[β$13$]Free[[β$5$](⇒ S) ⇒ β$5$, β$13$]]
- Definition Classes
- SinkInstances
-
implicit
def
sourceMonad[S]: Monad[[β$16$]Free[[β$4$](S, β$4$), β$16$]]
- 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()