o

scalaz

# Free 

### Companion class Free

#### object Free extends FreeInstances

Source
Free.scala
Linear Supertypes
Ordering
1. Alphabetic
2. By Inheritance
Inherited
1. Free
2. FreeInstances
3. SourceInstances
4. SinkInstances
5. TrampolineInstances
6. FreeInstances0
7. FreeInstances1
8. FreeInstances2
9. FreeInstances3
10. AnyRef
11. Any
1. Hide All
2. Show All
Visibility
1. Public
2. All

### Type Members

1. type Sink[A, B] = Free[[β\$5\$](⇒ A) ⇒ β\$5\$, B]

A computation that accepts values of type `A`, eventually resulting in a value of type `B`.

A computation that accepts values of type `A`, eventually resulting in a value of type `B`. Note the similarity to an scalaz.iteratee.Iteratee.

2. type Source[A, B] = Free[[β\$4\$](A, β\$4\$), B]

A computation that produces values of type `A`, eventually resulting in a value of type `B`.

3. type Trampoline[A] = Free[Function0, A]

A computation that can be stepped through, suspended, and paused

### Value Members

1. final def !=(arg0: Any)
Definition Classes
AnyRef → Any
2. final def ##(): Int
Definition Classes
AnyRef → Any
3. final def ==(arg0: Any)
Definition Classes
AnyRef → Any
4. def apply[S[_], A](s: S[Free[S, A]]): Free[S, A]

Absorb a step in `S` into the free monad for `S`

5. final def asInstanceOf[T0]: T0
Definition Classes
Any
6. def await[A]: Sink[A, A]

A sink that waits for a single value and returns it.

7. def clone()
Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@native() @throws( ... )
8. final def eq(arg0: AnyRef)
Definition Classes
AnyRef
9. def equals(arg0: Any)
Definition Classes
AnyRef → Any
10. def finalize(): Unit
Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
11. implicit def freeFoldable[F[_]](implicit arg0: Foldable[F], arg1: Functor[F]): Foldable[[β\$21\$]Free[F, β\$21\$]]
Definition Classes
FreeInstances3
12. implicit def freeFoldable1[F[_]](implicit arg0: Foldable1[F], arg1: Functor[F]): Foldable1[[β\$22\$]Free[F, β\$22\$]]
Definition Classes
FreeInstances2
Definition Classes
FreeInstances
14. implicit def freeMonoid[S[_], A](implicit arg0: Monoid[A]): Monoid[Free[S, A]]
Definition Classes
FreeInstances
15. implicit def freeSemigroup[S[_], A](implicit arg0: Semigroup[A]): Semigroup[Free[S, A]]
Definition Classes
FreeInstances0
16. implicit def freeTraverse[F[_]](implicit arg0: Traverse[F]): Traverse[[β\$23\$]Free[F, β\$23\$]]
Definition Classes
FreeInstances1
17. implicit def freeTraverse1[F[_]](implicit arg0: Traverse1[F]): Traverse1[[β\$24\$]Free[F, β\$24\$]]
Definition Classes
FreeInstances0
18. implicit def freeZip[S[_]](implicit F: Functor[S], Z: Zip[S]): Zip[[β\$30\$]Free[S, β\$30\$]]
Definition Classes
FreeInstances
19. final def getClass(): Class[_]
Definition Classes
AnyRef → Any
Annotations
@native()
20. def hashCode(): Int
Definition Classes
AnyRef → Any
Annotations
@native()
21. final def isInstanceOf[T0]
Definition Classes
Any
22. def joinF[S[_], A](value: Free[[β\$0\$]Free[S, β\$0\$], A]): Free[S, A]

Monadic join for the higher-order monad `Free`

23. 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.

24. def liftFU[MA](value: ⇒ MA)(implicit MA: Unapply[Functor, MA]): Free[M, A]

A version of `liftF` that infers the nested type constructor.

25. final def ne(arg0: AnyRef)
Definition Classes
AnyRef
26. final def notify(): Unit
Definition Classes
AnyRef
Annotations
@native()
27. final def notifyAll(): Unit
Definition Classes
AnyRef
Annotations
@native()
28. def pause

A trampoline step that doesn't do anything.

29. def point[S[_], A](value: A): Free[S, A]

Return the given value in the free monad.

30. def produce[A](a: A): Source[A, Unit]

A source that produces the given value.

31. def pure[S[_], A](value: A): Free[S, A]

Alias for `point`

32. def reset[A](r: Trampoline[A]): Trampoline[A]

Collapse a trampoline to a single step.

33. def return_[S[_], A](value: ⇒ A)(implicit S: Applicative[S]): Free[S, A]

Suspend the given computation in a single step.

34. def roll[S[_], A](value: S[Free[S, A]]): Free[S, A]

Absorb a step into the free monad.

Definition Classes
SinkInstances
Definition Classes
SourceInstances
37. 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`

38. final def synchronized[T0](arg0: ⇒ T0): T0
Definition Classes
AnyRef
39. def toString()
Definition Classes
AnyRef → Any
Definition Classes
FreeInstances2
Definition Classes
TrampolineInstances
42. final def wait(): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
43. final def wait(arg0: Long, arg1: Int): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
44. final def wait(arg0: Long): Unit
Definition Classes
AnyRef
Annotations
@native() @throws( ... )