object Free extends FreeFunctions with FreeInstances
- Source
- Free.scala
- Alphabetic
- By Inheritance
- Free
- FreeInstances
- SourceInstances
- SinkInstances
- TrampolineInstances
- FreeFunctions
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
case class
Gosub
[S[+_], A, +B](a: () ⇒ Free[S, A], f: (A) ⇒ Free[S, B])(implicit evidence$3: Functor[S]) extends Free[S, B] with Product with Serializable
Call a subroutine and continue with the given function.
-
case class
Return
[S[+_], +A](a: A)(implicit evidence$1: Functor[S]) extends Free[S, A] with Product with Serializable
Return from the computation with the given value.
-
type
Sink[A, +B] = Free[[+x](⇒ A) ⇒ x, 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[[+x](A, x), B]
A computation that produces values of type
A
, eventually resulting in a value of typeB
. -
case class
Suspend
[S[+_], +A](a: S[Free[S, A]])(implicit evidence$2: Functor[S]) extends Free[S, A] with Product with Serializable
Suspend the computation with the given suspension.
-
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
-
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.
A sink that waits for a single value and returns it.
- Definition Classes
- FreeFunctions
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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
freeMonad[S[+_]](implicit arg0: Functor[S]): Monad[[x]Free[S, x]]
- Definition Classes
- FreeInstances
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
joinF[S[+_], A](value: Free[[+α]Free[S, α], A])(implicit S: Functor[S]): Free[S, A]
Monadic join for the higher-order monad
Free
-
def
liftF[S[+_], A](value: ⇒ S[A])(implicit S: Functor[S]): 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.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
pause: Trampoline[Unit]
A trampoline step that doesn't do anything.
A trampoline step that doesn't do anything.
- Definition Classes
- FreeFunctions
-
def
point[S[+_], A](value: ⇒ A)(implicit arg0: Functor[S]): 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.
A source that produces the given value.
- Definition Classes
- FreeFunctions
-
def
pure[S[+_], A](value: ⇒ A)(implicit arg0: Functor[S]): Free[S, A]
Alias for
point
-
def
reset[A](r: Trampoline[A]): Trampoline[A]
Collapse a trampoline to a single step.
Collapse a trampoline to a single step.
- Definition Classes
- FreeFunctions
-
def
return_[S[+_], A](value: ⇒ A)(implicit S: Applicative[S]): Free[S, A]
Suspend the given computation in a single step.
Suspend the given computation in a single step.
- Definition Classes
- FreeFunctions
-
implicit
def
sinkMonad[S]: Monad[[x]Free[[+x](⇒ S) ⇒ x, x]]
- Definition Classes
- SinkInstances
-
implicit
def
sourceMonad[S]: Monad[[x]Free[[+x](S, x), x]]
- Definition Classes
- SourceInstances
-
def
suspend[S[+_], A](value: ⇒ Free[S, A])(implicit S: Applicative[S]): Free[S, A]
- Definition Classes
- FreeFunctions
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
implicit
val
trampolineMonad: Monad[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( ... )