Class

org.specs2.control.eff

Impure

Related Doc: package eff

Permalink

case class Impure[R, X, A](union: Union[R, X], continuation: Arrs[R, X, A], last: Last[R] = Last.none[R]) extends Eff[R, A] with Product with Serializable

Impure is an effect (encoded as one possibility among other effects, a Union) and a continuation providing the next Eff value.

This essentially models a flatMap operation with the current effect and the monadic function to apply to a value once the effect is interpreted

One effect can always be executed last, just for side-effects

Linear Supertypes
Serializable, Serializable, Product, Equals, Eff[R, A], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Impure
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Eff
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Impure(union: Union[R, X], continuation: Arrs[R, X, A], last: Last[R] = Last.none[R])

    Permalink

Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. def *>[B](fb: Eff[R, B]): Eff[R, B]

    Permalink
    Definition Classes
    Eff
  4. def <*[B](fb: Eff[R, B]): Eff[R, A]

    Permalink
    Definition Classes
    Eff
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. def addLast(l: Last[R]): Eff[R, A]

    Permalink

    add one last action to be executed after any computation chained to this Eff value

    add one last action to be executed after any computation chained to this Eff value

    Definition Classes
    ImpureEff
  7. def addLast(l: ⇒ Eff[R, Unit]): Eff[R, A]

    Permalink

    add one last action to be executed after any computation chained to this Eff value

    add one last action to be executed after any computation chained to this Eff value

    Definition Classes
    Eff
  8. def ap[B](f: Eff[R, (A) ⇒ B]): Eff[R, B]

    Permalink
    Definition Classes
    Eff
  9. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. val continuation: Arrs[R, X, A]

    Permalink
  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def flatMap[B](f: (A) ⇒ Eff[R, B]): Eff[R, B]

    Permalink
    Definition Classes
    Eff
  15. def flatten[B](implicit ev: =:=[A, Eff[R, B]]): Eff[R, B]

    Permalink
    Definition Classes
    Eff
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. val last: Last[R]

    Permalink
  19. def map[B](f: (A) ⇒ B): Eff[R, B]

    Permalink
    Definition Classes
    Eff
  20. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. val union: Union[R, X]

    Permalink
  25. final def wait(): Unit

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

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

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

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Eff[R, A]

Inherited from AnyRef

Inherited from Any

Ungrouped