Object

com.thoughtworks.raii

asynchronous

Related Doc: package raii

Permalink

object asynchronous

The namespace that contains Do.

Author:

杨博 (Yang Bo) <[email protected]>

Source
asynchronous.scala
Linear Supertypes
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. asynchronous
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. implicit final class AsynchronousDoOps[A] extends AnyRef

    Permalink
  2. trait DefaultCloseable extends MonadicCloseable[UnitContinuation]

    Permalink
  3. type Do[+A] = asynchronous.OpacityTypes.Do[A]

    Permalink

    An universal monadic data type that consists of many useful monad transformers.

    An universal monadic data type that consists of many useful monad transformers.

    Features of Do

    Note

    This Do type is an opacity alias to UnitContinuation[Resource[UnitContinuation, Try[A]]].

    See also

    asynchronousDoMonadErrorInstances for the MonadError the type class for this Do type.

    Do companion object for static helper functions for this Do type. @ @see AsynchronousDoOps for implicit methods for this Do type.

  4. type ParallelDo[A] = AnyRef { ... /* 2 definitions in type refinement */ }

    Permalink

    A Do tagged as Parallel.

    A Do tagged as Parallel.

    Example:
    1. ParallelDo and Do can be converted to each other via scalaz.Tags.Parallel. Given a Do,

      import com.thoughtworks.raii.asynchronous.{Do, ParallelDo}
      import java.net._
      import java.io._
      val originalDoInput: Do[InputStream] = Do.autoCloseable(new URL("http://thoughtworks.com/").openStream())

      when converting it to ParallelDo and converting it back,

      import scalaz.Tags.Parallel
      val parallelDoInput: ParallelDo[InputStream] = Parallel(originalDoInput)
      val Parallel(doInput) = parallelDoInput

      then the Do should be still the original instance.

      doInput should be(originalDoInput)
    See also

    doParallelApplicative for the Applicative type class for parallel computing.

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. object Do

    Permalink

    The companion object of Do

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. implicit def asynchronousDoMonadErrorInstances: MonadError[Do, Throwable]

    Permalink

  7. implicit def asynchronousDoParallelApplicative(implicit throwableSemigroup: Semigroup[Throwable]): Applicative[ParallelDo]

    Permalink

    Returns an Applicative type class for parallel computing.

    Returns an Applicative type class for parallel computing.

    Note

    This type class requires a Semigroup to combine multiple Throwables into one, in the case of multiple tasks report errors in parallel.

  8. def clone(): AnyRef

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

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

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  18. val opacityTypes: OpacityTypes

    Permalink

    The type-level Pimpl in order to prevent the Scala compiler seeing the actual type of Do

    The type-level Pimpl in order to prevent the Scala compiler seeing the actual type of Do

    Note

    For internal usage only.

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

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

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

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

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

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

Inherited from AnyRef

Inherited from Any

Type classes

Ungrouped