molecule.io

IO

final class IO[+A] extends AnyRef

The Molecule IO Monad

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. IO
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new IO(ask: (UThreadContext, (A) ⇒ Unit) ⇒ Unit)

    ask

    function called to "execute" or "ask for" the result of the IO action.

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def $[B](f: (A) ⇒ B): IO[B]

    Apply a function to the result of this action.

    Apply a function to the result of this action.

    B

    the type of the resulting action.

    f

    the function to apply.

    returns

    the transformed action.

    Annotations
    @inline()
  5. final def <~[B](next: ⇒ IO[B]): IO[A]

    Sequence an action after this one and return the result of this action.

    Sequence an action after this one and return the result of this action.

    B

    the type of the next action.

    next

    the next action.

    returns

    the result of this action.

  6. final def <~\[B](react: (A) ⇒ IO[B]): IO[A]

    An operator that acts like bind but returns the result of the previous action.

    An operator that acts like bind but returns the result of the previous action.

    B

    the type of the next action.

    react

    the function used to create the next action.

    returns

    the result of the previous action.

  7. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  8. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  9. final def >>[B](next: ⇒ IO[B]): IO[B]

    Operator equivalent to andThen.

    Operator equivalent to andThen.

    B

    the type of the next action.

    next

    the next action.

    returns

    the result of the next action.

    Annotations
    @inline()
  10. def >>&[B](next: ⇒ IO[B]): IO[A]

    Sequence to unrelated actions and return the result of the first action.

    Sequence to unrelated actions and return the result of the first action.

    B

    the type of the next action.

    next

    the next action.

    returns

    the result of the first action.

  11. def >>&\[B](react: (A) ⇒ IO[B]): IO[A]

    An operator that acts like bind but returns the result of the previous action.

    An operator that acts like bind but returns the result of the previous action.

    B

    the type of the next action.

    react

    the function used to create the next action.

    returns

    the result of the previous action.

  12. final def >>\[B](react: (A) ⇒ IO[B]): IO[B]

    The monadic bind operator.

    The monadic bind operator.

    B

    the type of the next action.

    react

    the function used to create the next action.

    returns

    the next action.

    Annotations
    @inline()
  13. final def andThen[B](next: ⇒ IO[B]): IO[B]

    Sequence an action after this one and return the result of that action.

    Sequence an action after this one and return the result of that action.

    B

    the type of the next action.

    next

    the next action.

    returns

    the result of the next action.

    Annotations
    @inline()
  14. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  15. def bind[B](react: (A) ⇒ IO[B]): IO[B]

    Bind the result of this action to the argument of a function resulting in the next IO action to execute.

    Bind the result of this action to the argument of a function resulting in the next IO action to execute. In other words, the new action created by bind passes control to the action created as a reaction to the result of the current action.

    B

    the type of the next action.

    react

    the function used to create the next action.

    returns

    the next action.

  16. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  17. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  19. def filter(p: (A) ⇒ Boolean): IO[A]

    Function required by Scala for pattern matching

  20. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  21. final def flatMap[B](f: (A) ⇒ IO[B]): IO[B]

    Same as bind

    Same as bind

    Annotations
    @inline()
  22. final def getClass(): Class[_]

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

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

    Definition Classes
    Any
  25. def map[B](f: (A) ⇒ B): IO[B]

    Apply a function to the result of this action.

    Apply a function to the result of this action.

    B

    the type of the resulting action.

    f

    the function to apply.

    returns

    the transformed action.

  26. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  27. final def notify(): Unit

    Definition Classes
    AnyRef
  28. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  29. def orCatch[B >: A](f: PartialFunction[Signal, IO[B]]): IO[B]

    Execute an action or catch a user-level exception raised by this action.

    Execute an action or catch a user-level exception raised by this action. If a user-level exception is thrown, any resource dynamically acquired by this action is shutdown. Then, if its signal matches a signal for which the partial function is defined the action results in the action defined by the partial function handler. Otherwise, the signal is propageted further in the parent's context.

    f

    the partial function invoked if a user-level exception occurs.

    returns

    a managed action.

  30. def par[B](other: IO[B])(implicit ma: Message[A], mb: Message[B]): IO[~[A, B]]

    Interleave the execution of this action with the execution of another action.

    Interleave the execution of this action with the execution of another action.

    other

    the other action

    returns

    the pair of both results (implicit conversions allow to match ~ as a tuple, otherwise use flatten x methods).

  31. def seq[B](next: IO[B]): IO[~[A, B]]

    Sequence an action after this one and return a pair containing the results of both actions.

    Sequence an action after this one and return a pair containing the results of both actions.

    B

    the type of the next action.

    next

    the next action.

    returns

    the pair with both results (implicit conversions allow to match ~ as a tuple, otherwise use flatten x methods).

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

    Definition Classes
    AnyRef
  33. def toString(): String

    Definition Classes
    AnyRef → Any
  34. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. def |*|[B](action: IO[B])(implicit ma: Message[A], mb: Message[B]): IO[Unit]

    Same as par but discard the result.

    Same as par but discard the result.

    action

    the other action.

    returns

    an action that returns Unit after both actions have terminated.

  38. def |~|[B](other: IO[B])(implicit ma: Message[A], mb: Message[B]): IO[~[A, B]]

    Operator for par.

    Operator for par.

    returns

    an action that returns the results of both actions in a pair.

  39. final def ~[B](next: IO[B]): IO[~[A, B]]

    Sequence an action after this one and return a pair containing the results of both actions.

    Sequence an action after this one and return a pair containing the results of both actions.

    B

    the type of the next action.

    next

    the next action.

    returns

    the pair with both results (implicit conversions allow to match ~ as a tuple, otherwise use flatten x methods).

    Annotations
    @inline()
  40. final def ~>[B](next: ⇒ IO[B]): IO[B]

    Sequence an action after this one and return the result of that action.

    Sequence an action after this one and return the result of that action.

    B

    the type of the next action.

    next

    the next action.

    returns

    the result of the next action.

    Annotations
    @inline()
  41. final def ~>\[B](f: (A) ⇒ IO[B]): IO[B]

    Same as bind

    Same as bind

    Annotations
    @inline()

Inherited from AnyRef

Inherited from Any

Ungrouped