Object/Trait

org.specs2.control.eff

Eff

Related Docs: trait Eff | package eff

Permalink

object Eff

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Eff
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Type Members

  1. implicit class EffOps[R <: Effects, A] extends AnyRef

    Permalink
  2. trait IntoPoly[R <: Effects, U, A] extends AnyRef

    Permalink

    Trait for polymorphic recursion into Eff[?, A]

    Trait for polymorphic recursion into Eff[?, A]

    The idea is to deal with one effect at the time:

    • if the effect stack is M |: R and if U contains M we transform each "Union[R, X]" in the Impure case into a Union for U and we try to recurse on other effects present in R
    • if the effect stack is M |: NoEffect and if U contains M we just "inject" the M[X] effect into Eff[U, A] using the Member typeclass if M is not present when we decompose we throw an exception. This case should never happen because if there is no other effect in the stack there should be at least something producing a value of type A
  3. trait Mapper[M[_]] extends AnyRef

    Permalink

    Operations of Eff[R, A] values

  4. trait Runner[M[_], R, A] extends AnyRef

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. implicit def EffMonad[R]: Monad[[β]Eff[R, β]]

    Permalink

    Monad implementation for the Eff[R, ?] type

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. def effInto[R <: Effects, U, A](e: Eff[R, A])(implicit f: IntoPoly[R, U, A]): Eff[U, A]

    Permalink

    An Eff[R, A] value can be transformed into an Eff[U, A] value provided that all the effects in R are also in U

  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  13. def impure[R, X, A](union: Union[R, X], continuation: Arrs[R, X, A]): Eff[R, A]

    Permalink

    create a impure value from an union of effects and a continuation

  14. implicit def intoEff[M[_], R <: Effects, U, A](implicit m: Member[M, |:[M, R]], mu: Member[M, U], recurse: IntoPoly[R, U, A]): IntoPoly[|:[M, R], U, A]

    Permalink
  15. implicit def intoNoEff[M[_], U, A](implicit m: Member[M, |:[M, NoEffect]], mu: Member[M, U]): IntoPoly[|:[M, NoEffect], U, A]

    Permalink
  16. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. def pure[R, A](a: A): Eff[R, A]

    Permalink

    create a pure value

  21. def run[A](eff: Eff[NoEffect, A]): A

    Permalink

    base runner for an Eff value having no effects at all

    base runner for an Eff value having no effects at all

    This runner can only return the value in Pure because it doesn't known how to interpret the effects in Impure

  22. def send[T[_], R, V](tv: T[V])(implicit member: Member[T, R]): Eff[R, V]

    Permalink

    create an Eff[R, A] value from an effectful value of type T[V] provided that T is one of the effects of R

  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  25. def unit[R]: Eff[R, Unit]

    Permalink

    create an Eff value for ()

  26. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped