object Free extends FreeInstances with FreeFunctions
- Source
- Free.scala
- Alphabetic
- By Inheritance
- Free
- FreeFunctions
- FreeInstances
- SourceInstances
- SinkInstances
- TrampolineInstances
- FreeInstances00
- FreeInstances0
- FreeInstances1
- FreeInstances2
- FreeInstances3
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
FreeC[S[_], A] = Free[[x]Coyoneda[S, x], A]
A free monad over the free functor generated by
S
-
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
. -
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
freeFoldable[F[_]](implicit arg0: Foldable[F], arg1: Functor[F]): Foldable[[α]Free[F, α]]
- Definition Classes
- FreeInstances3
-
implicit
def
freeFoldable1[F[_]](implicit arg0: Foldable1[F], arg1: Functor[F]): Foldable1[[α]Free[F, α]]
- Definition Classes
- FreeInstances2
-
implicit
def
freeMonad[S[_]](implicit arg0: Functor[S]): Monad[[x]Free[S, x]]
- Definition Classes
- FreeInstances00
-
implicit
def
freeMonoid[S[_], A](implicit arg0: Functor[S], arg1: Monoid[A]): Monoid[Free[S, A]]
- Definition Classes
- FreeInstances
-
implicit
def
freeSemigroup[S[_], A](implicit arg0: Functor[S], arg1: Semigroup[A]): Semigroup[Free[S, A]]
- Definition Classes
- FreeInstances0
-
implicit
def
freeTraverse[F[_]](implicit arg0: Traverse[F]): Traverse[[α]Free[F, α]]
- Definition Classes
- FreeInstances1
-
implicit
def
freeTraverse1[F[_]](implicit arg0: Traverse1[F]): Traverse1[[α]Free[F, α]]
- Definition Classes
- FreeInstances0
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- def gosub[S[_], A, B](a0: () ⇒ Free[S, A])(f0: (A) ⇒ Free[S, B]): Free[S, B]
-
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
Monadic join for the higher-order monad
Free
- Definition Classes
- FreeFunctions
-
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.
- Definition Classes
- FreeFunctions
-
def
liftFC[S[_], A](s: S[A]): FreeC[S, A]
A free monad over a free functor of
S
.A free monad over a free functor of
S
.- Definition Classes
- FreeFunctions
-
def
liftFU[MA](value: ⇒ MA)(implicit MA: Unapply[Functor, MA]): Free[M, A]
A version of
liftF
that infers the nested type constructor.A version of
liftF
that infers the nested type constructor.- Definition Classes
- FreeFunctions
-
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): Free[S, A]
Return the given value in the free monad.
Return the given value in the free monad.
- Definition Classes
- FreeFunctions
-
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): Free[S, A]
Alias for
point
Alias for
point
- Definition Classes
- FreeFunctions
-
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
-
def
runFC[S[_], M[_], A](sa: FreeC[S, A])(interp: ~>[S, M])(implicit M: Monad[M]): M[A]
Interpret a free monad over a free functor of
S
via natural transformation to monadM
.Interpret a free monad over a free functor of
S
via natural transformation to monadM
.- Definition Classes
- FreeFunctions
-
implicit
def
sinkMonad[S]: Monad[[x]Free[[x](⇒ S) ⇒ x, x]]
- Definition Classes
- FreeInstances → SinkInstances
-
implicit
def
sourceMonad[S]: Monad[[x]Free[[x](S, x), x]]
- Definition Classes
- FreeInstances → 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
trampolineInstance: Monad[Trampoline] with Comonad[Trampoline]
- Definition Classes
- FreeInstances → 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( ... )