Packages

case class ImpureAp[R, X, A](unions: Unions[R, X], continuation: Arrs[R, List[Any], A], last: Last[R] = Last.none[R]) extends Eff[R, A] with Product with Serializable

ImpureAp is a list of independent effects and a pure function creating a value with all the resulting values once all effects have been interpreted.

This essentially models a sequence + map operation but it is important to understand that the list of Union objects can represent different effects and be like: List[Option[Int], Future[String], Option[Int]].

Interpreting such an Eff value for a given effect (say Option) consists in:

  • grouping all the Option values,
  • sequencing them
  • pass them to a continuation which will apply the 'map' functions when the other effects (Future in the example above) will have been interpreted

VERY IMPORTANT:

  • this object is highly unsafe
  • the size of the list argument to 'map' must always be equal to the number of unions in the Unions object
  • the types of the elements in the list argument to 'map' must be the exact types of each effect in unions.unions
Linear Supertypes
Serializable, Serializable, Product, Equals, Eff[R, A], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ImpureAp
  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 ImpureAp(unions: Unions[R, X], continuation: Arrs[R, List[Any], A], last: Last[R] = Last.none[R])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def *>[B](fb: Eff[R, B]): Eff[R, B]
    Definition Classes
    Eff
  4. def <*[B](fb: Eff[R, B]): Eff[R, A]
    Definition Classes
    Eff
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def addLast(l: Last[R]): Eff[R, A]

    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
    ImpureApEff
  7. def addLast(l: ⇒ Eff[R, Unit]): Eff[R, A]

    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]
    Definition Classes
    Eff
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  11. val continuation: Arrs[R, List[Any], A]
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def finalize(): Unit
    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]
    Definition Classes
    Eff
  15. def flatten[B](implicit ev: =:=[A, Eff[R, B]]): Eff[R, B]
    Definition Classes
    Eff
  16. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. val last: Last[R]
  19. def map[B](f: (A) ⇒ B): Eff[R, B]
    Definition Classes
    Eff
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  24. def toMonadic: Eff[R, A]
  25. val unions: Unions[R, X]
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @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