package eff
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- eff
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Type Members
- type /=[M[_], R] = MemberInOut[M, R]
- type <=[M[_], R] = Member[M, R]
- sealed trait Choose[T] extends AnyRef
- trait ChooseCreation extends AnyRef
-
trait
ChooseEffect extends ChooseCreation with ChooseInterpretation
The Choose effect models non-determinism So we can get results, either:
The Choose effect models non-determinism So we can get results, either:
- no results (when using ChooseZero)
- the result for action1 or the result for action b (when using ChoosePlus)
When running this effect we can "collect" the results with any F which has an Alternative instance.
For example if F is List then:
- no results is the empty list
- the result for a or b is List(a, b)
If F is Option then:
- no results is the None
- the result for a or b is Some(a) or Some(b
- trait ChooseImplicits extends AnyRef
- trait ChooseInterpretation extends AnyRef
- case class ChooseZero[T]() extends Choose[T] with Product with Serializable
-
case class
Rand[A](run: (Random) ⇒ Option[A]) extends Product with Serializable
This class can be used as a F in runChoose to generate random alternatives
- type |=[M[_], R] = MemberIn[M, R]
Value Members
- object ChooseCreation extends ChooseCreation
- object ChooseEffect extends ChooseEffect
- object ChooseImplicits extends ChooseImplicits
- object ChooseInterpretation extends ChooseInterpretation
- object ChoosePlus extends Choose[Boolean] with Product with Serializable
- object Rand extends Serializable